Skip to content

Commit

Permalink
Escape arguments.
Browse files Browse the repository at this point in the history
  • Loading branch information
SebastianStehle committed Jan 24, 2024
1 parent 37dc348 commit b7db9c1
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 17 deletions.
2 changes: 1 addition & 1 deletion csharp/Squidex.ClientLibrary/Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
<PackageTags>Squidex HeadlessCMS</PackageTags>
<PublishRepositoryUrl>true</PublishRepositoryUrl>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
<Version>19.0.0</Version>
<Version>19.1.0</Version>
</PropertyGroup>

<PropertyGroup Condition="'$(GITHUB_ACTIONS)' == 'true'">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ public Task<TEntity> GetAsync(string id, QueryContext? context = null,
{
Guard.NotNullOrEmpty(id, nameof(id));

return RequestJsonAsync<TEntity>(HttpMethod.Get, BuildUrl($"{id}/", true, context), null, context, ct);
return RequestJsonAsync<TEntity>(HttpMethod.Get, BuildUrl($"{Uri.EscapeDataString(id)}/", true, context), null, context, ct);
}

/// <inheritdoc/>
Expand All @@ -160,7 +160,7 @@ public Task<TEntity> GetAsync(string id, long version, QueryContext? context = n
{
Guard.NotNullOrEmpty(id, nameof(id));

return RequestJsonAsync<TEntity>(HttpMethod.Get, BuildUrl($"{id}/?version={version}", true, context), null, context, ct);
return RequestJsonAsync<TEntity>(HttpMethod.Get, BuildUrl($"{Uri.EscapeDataString(id)}/?version={version}", true, context), null, context, ct);
}

/// <inheritdoc/>
Expand All @@ -180,7 +180,7 @@ public Task<ContentsResult<TEntity, TData>> GetReferencingAsync(string id, Conte

var q = query?.ToQuery(true, Options) ?? string.Empty;

return RequestJsonAsync<ContentsResult<TEntity, TData>>(HttpMethod.Get, BuildUrl($"{id}/referencing{q}", true, context), null, context, ct);
return RequestJsonAsync<ContentsResult<TEntity, TData>>(HttpMethod.Get, BuildUrl($"{Uri.EscapeDataString(id)}/referencing{q}", true, context), null, context, ct);
}

/// <inheritdoc/>
Expand All @@ -200,7 +200,7 @@ public Task<ContentsResult<TEntity, TData>> GetReferencesAsync(string id, Conten

var q = query?.ToQuery(true, Options) ?? string.Empty;

return RequestJsonAsync<ContentsResult<TEntity, TData>>(HttpMethod.Get, BuildUrl($"{id}/references{q}", true, context), null, context, ct);
return RequestJsonAsync<ContentsResult<TEntity, TData>>(HttpMethod.Get, BuildUrl($"{Uri.EscapeDataString(id)}/references{q}", true, context), null, context, ct);
}

/// <inheritdoc/>
Expand All @@ -209,7 +209,9 @@ public Task<TEntity> CreateAsync(TData data, ContentCreateOptions options = defa
{
Guard.NotNull(data, nameof(data));

return RequestJsonAsync<TEntity>(HttpMethod.Post, BuildUrl($"?publish={options.Publish}&id={options.Id ?? string.Empty}", false), data.ToContent(Options), context, ct);
var id = options.Id ?? string.Empty;

return RequestJsonAsync<TEntity>(HttpMethod.Post, BuildUrl($"?publish={options.Publish}&id={Uri.EscapeDataString(id)}", false), data.ToContent(Options), context, ct);
}

/// <inheritdoc/>
Expand All @@ -218,7 +220,7 @@ public Task<TEntity> CreateDraftAsync(string id, ContentCreateDraftOptions optio
{
Guard.NotNullOrEmpty(id, nameof(id));

return RequestJsonAsync<TEntity>(HttpMethod.Post, BuildUrl($"{id}/draft", false), null, context, ct);
return RequestJsonAsync<TEntity>(HttpMethod.Post, BuildUrl($"{Uri.EscapeDataString(id)}/draft", false), null, context, ct);
}

/// <inheritdoc/>
Expand All @@ -237,7 +239,7 @@ public Task<TEntity> ChangeStatusAsync(string id, ChangeStatus request, QueryCon
Guard.NotNull(id, nameof(id));
Guard.NotNull(request, nameof(request));

return RequestJsonAsync<TEntity>(HttpMethod.Put, BuildUrl($"{id}/status", false), request.ToContent(Options), context, ct);
return RequestJsonAsync<TEntity>(HttpMethod.Put, BuildUrl($"{Uri.EscapeDataString(id)}/status", false), request.ToContent(Options), context, ct);
}

/// <inheritdoc/>
Expand All @@ -256,7 +258,7 @@ public Task<TEntity> PatchAsync<TPatch>(string id, TPatch patch, ContentPatchOpt
Guard.NotNullOrEmpty(id, nameof(id));
Guard.NotNull(patch, nameof(patch));

return RequestJsonAsync<TEntity>(HttpMethodEx.Patch, BuildUrl($"{id}/", false), patch.ToContent(Options), context, ct);
return RequestJsonAsync<TEntity>(HttpMethodEx.Patch, BuildUrl($"{Uri.EscapeDataString(id)}/", false), patch.ToContent(Options), context, ct);
}

/// <inheritdoc/>
Expand All @@ -275,7 +277,7 @@ public Task<TEntity> UpsertAsync(string id, TData data, ContentUpsertOptions opt
Guard.NotNullOrEmpty(id, nameof(id));
Guard.NotNull(data, nameof(data));

return RequestJsonAsync<TEntity>(HttpMethod.Post, BuildUrl($"{id}?publish={options.Publish}&patch={options.Patch}&enrichDefaults={options.EnrichDefaults}", false), data.ToContent(Options), context, ct);
return RequestJsonAsync<TEntity>(HttpMethod.Post, BuildUrl($"{Uri.EscapeDataString(id)}?publish={options.Publish}&patch={options.Patch}&enrichDefaults={options.EnrichDefaults}", false), data.ToContent(Options), context, ct);
}

/// <inheritdoc/>
Expand All @@ -294,7 +296,7 @@ public async Task<TEntity> UpdateAsync(string id, TData data, ContentUpdateOptio
Guard.NotNullOrEmpty(id, nameof(id));
Guard.NotNull(data, nameof(data));

return await RequestJsonAsync<TEntity>(HttpMethod.Put, BuildUrl($"{id}?enrichDefaults={options.EnrichDefaults}", false), data.ToContent(Options), context, ct);
return await RequestJsonAsync<TEntity>(HttpMethod.Put, BuildUrl($"{Uri.EscapeDataString(id)}?enrichDefaults={options.EnrichDefaults}", false), data.ToContent(Options), context, ct);
}

/// <inheritdoc/>
Expand All @@ -312,7 +314,7 @@ public async Task<TEntity> EnrichDefaultsAsync(string id, ContentEnrichDefaultsO
{
Guard.NotNullOrEmpty(id, nameof(id));

return await RequestJsonAsync<TEntity>(HttpMethod.Put, BuildUrl($"{id}/defaults", false), null, context, ct);
return await RequestJsonAsync<TEntity>(HttpMethod.Put, BuildUrl($"{Uri.EscapeDataString(id)}/defaults", false), null, context, ct);
}

/// <inheritdoc/>
Expand All @@ -330,7 +332,7 @@ public Task DeleteAsync(string id, ContentDeleteOptions options = default,
{
Guard.NotNullOrEmpty(id, nameof(id));

return RequestAsync(HttpMethod.Delete, BuildUrl($"{id}?permanent={options.Permanent}&checkReferrers={options.CheckReferrers}", false), null, null, ct);
return RequestAsync(HttpMethod.Delete, BuildUrl($"{Uri.EscapeDataString(id)}?permanent={options.Permanent}&checkReferrers={options.CheckReferrers}", false), null, null, ct);
}

/// <inheritdoc/>
Expand All @@ -348,7 +350,7 @@ public Task<TEntity> DeleteDraftAsync(string id, ContentDeleteDraftOptions optio
{
Guard.NotNullOrEmpty(id, nameof(id));

return RequestJsonAsync<TEntity>(HttpMethod.Delete, BuildUrl($"{id}/draft", false), null, context, ct);
return RequestJsonAsync<TEntity>(HttpMethod.Delete, BuildUrl($"{Uri.EscapeDataString(id)}/draft", false), null, context, ct);
}

/// <inheritdoc/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ public Task<ExtendableRuleDto> UpdateRuleAsync(string id, UpdateExtendableRuleDt
Guard.NotNullOrEmpty(id, nameof(id));
Guard.NotNull(request, nameof(request));

return RequestJsonAsync<ExtendableRuleDto>(HttpMethod.Put, BuildUrl($"{id}"), request.ToContent(Options), null, ct);
return RequestJsonAsync<ExtendableRuleDto>(HttpMethod.Put, BuildUrl($"{Uri.EscapeDataString(id)}"), request.ToContent(Options), null, ct);
}

/// <inheritdoc/>
Expand All @@ -59,7 +59,7 @@ public Task<ExtendableRuleDto> EnableRuleAsync(string id,
{
Guard.NotNullOrEmpty(id, nameof(id));

return RequestJsonAsync<ExtendableRuleDto>(HttpMethod.Put, BuildUrl($"{id}/enable"), null, null, ct);
return RequestJsonAsync<ExtendableRuleDto>(HttpMethod.Put, BuildUrl($"{Uri.EscapeDataString(id)}/enable"), null, null, ct);
}

/// <inheritdoc/>
Expand All @@ -68,7 +68,7 @@ public Task<ExtendableRuleDto> DisableRuleAsync(string id,
{
Guard.NotNullOrEmpty(id, nameof(id));

return RequestJsonAsync<ExtendableRuleDto>(HttpMethod.Put, BuildUrl($"{id}/disable"), null, null, ct);
return RequestJsonAsync<ExtendableRuleDto>(HttpMethod.Put, BuildUrl($"{Uri.EscapeDataString(id)}/disable"), null, null, ct);
}

/// <inheritdoc/>
Expand Down

0 comments on commit b7db9c1

Please sign in to comment.