Skip to content

Commit

Permalink
CLIENT: Add PostContent/PutContent overloads on IRESTFulApiFactoryClient
Browse files Browse the repository at this point in the history
  • Loading branch information
Catalin Andronie committed Mar 28, 2023
1 parent 6566fc7 commit 6f2b1f1
Show file tree
Hide file tree
Showing 4 changed files with 147 additions and 0 deletions.
21 changes: 21 additions & 0 deletions RESTFulSense.WebAssembly/Clients/IRESTFulApiFactoryClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
// See License.txt in the project root for license information.
// ---------------------------------------------------------------

using System.Net.Http;
using System.Threading;
using System.Threading.Tasks;

Expand All @@ -28,6 +29,16 @@ public ValueTask PostContentWithNoResponseAsync<T>(
string mediaType = "text/json",
bool ignoreDefaultValues = false);

ValueTask<HttpResponseMessage> PostContentAsync(
string relativeUrl,
HttpContent content,
CancellationToken cancellationToken = default);

ValueTask<TResponse> PostContentAsync<TResponse>(
string relativeUrl,
HttpContent content,
CancellationToken cancellationToken = default);

ValueTask<T> PostContentAsync<T>(
string relativeUrl,
T content,
Expand All @@ -47,6 +58,16 @@ ValueTask<TResult> PostContentAsync<TContent, TResult>(
string mediaType = "text/json",
bool ignoreDefaultValues = false);

ValueTask<HttpResponseMessage> PutContentAsync(
string relativeUrl,
HttpContent content,
CancellationToken cancellationToken = default);

ValueTask<TResponse> PutContentAsync<TResponse>(
string relativeUrl,
HttpContent content,
CancellationToken cancellationToken = default);

ValueTask<T> PutContentAsync<T>(
string relativeUrl,
T content,
Expand Down
52 changes: 52 additions & 0 deletions RESTFulSense.WebAssembly/Clients/RESTFulApiFactoryClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,32 @@ public async ValueTask PostContentWithNoResponseAsync<T>(
await ValidationService.ValidateHttpResponseAsync(responseMessage);
}

public async ValueTask<HttpResponseMessage> PostContentAsync(
string relativeUrl,
HttpContent content,
CancellationToken cancellationToken = default)
{
HttpResponseMessage responseMessage =
await this.httpClient.PostAsync(relativeUrl, content, cancellationToken);

await ValidationService.ValidateHttpResponseAsync(responseMessage);

return responseMessage;
}

public async ValueTask<TResult> PostContentAsync<TResult>(
string relativeUrl,
HttpContent content,
CancellationToken cancellationToken = default)
{
HttpResponseMessage responseMessage =
await this.httpClient.PostAsync(relativeUrl, content, cancellationToken);

await ValidationService.ValidateHttpResponseAsync(responseMessage);

return await DeserializeResponseContent<TResult>(responseMessage);
}

public ValueTask<T> PostContentAsync<T>(
string relativeUrl,
T content,
Expand Down Expand Up @@ -122,6 +148,32 @@ public async ValueTask<TResult> PostContentAsync<TContent, TResult>(
return await DeserializeResponseContent<TResult>(responseMessage);
}

public async ValueTask<HttpResponseMessage> PutContentAsync(
string relativeUrl,
HttpContent content,
CancellationToken cancellationToken = default)
{
HttpResponseMessage responseMessage =
await this.httpClient.PutAsync(relativeUrl, content, cancellationToken);

await ValidationService.ValidateHttpResponseAsync(responseMessage);

return responseMessage;
}

public async ValueTask<TResult> PutContentAsync<TResult>(
string relativeUrl,
HttpContent content,
CancellationToken cancellationToken = default)
{
HttpResponseMessage responseMessage =
await this.httpClient.PutAsync(relativeUrl, content, cancellationToken);

await ValidationService.ValidateHttpResponseAsync(responseMessage);

return await DeserializeResponseContent<TResult>(responseMessage);
}

public async ValueTask<T> PutContentAsync<T>(
string relativeUrl,
T content,
Expand Down
21 changes: 21 additions & 0 deletions RESTFulSense/Clients/IRESTFulApiFactoryClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
// See License.txt in the project root for license information.
// ---------------------------------------------------------------

using System.Net.Http;
using System.Threading;
using System.Threading.Tasks;

Expand All @@ -28,6 +29,16 @@ public ValueTask PostContentWithNoResponseAsync<T>(
string mediaType = "text/json",
bool ignoreDefaultValues = false);

ValueTask<HttpResponseMessage> PostContentAsync(
string relativeUrl,
HttpContent content,
CancellationToken cancellationToken = default);

ValueTask<TResponse> PostContentAsync<TResponse>(
string relativeUrl,
HttpContent content,
CancellationToken cancellationToken = default);

ValueTask<T> PostContentAsync<T>(
string relativeUrl,
T content,
Expand All @@ -53,6 +64,16 @@ ValueTask<T> PutContentAsync<T>(
string mediaType = "text/json",
bool ignoreDefaultValues = false);

ValueTask<HttpResponseMessage> PutContentAsync(
string relativeUrl,
HttpContent content,
CancellationToken cancellationToken = default);

ValueTask<TResponse> PutContentAsync<TResponse>(
string relativeUrl,
HttpContent content,
CancellationToken cancellationToken = default);

ValueTask<T> PutContentAsync<T>(
string relativeUrl,
T content,
Expand Down
53 changes: 53 additions & 0 deletions RESTFulSense/Clients/RESTFulApiFactoryClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,32 @@ public async ValueTask PostContentWithNoResponseAsync<T>(
await ValidationService.ValidateHttpResponseAsync(responseMessage);
}

public async ValueTask<HttpResponseMessage> PostContentAsync(
string relativeUrl,
HttpContent content,
CancellationToken cancellationToken = default)
{
HttpResponseMessage responseMessage =
await this.httpClient.PostAsync(relativeUrl, content, cancellationToken);

await ValidationService.ValidateHttpResponseAsync(responseMessage);

return responseMessage;
}

public async ValueTask<TResult> PostContentAsync<TResult>(
string relativeUrl,
HttpContent content,
CancellationToken cancellationToken = default)
{
HttpResponseMessage responseMessage =
await this.httpClient.PostAsync(relativeUrl, content, cancellationToken);

await ValidationService.ValidateHttpResponseAsync(responseMessage);

return await DeserializeResponseContent<TResult>(responseMessage);
}

public ValueTask<T> PostContentAsync<T>(
string relativeUrl,
T content,
Expand All @@ -86,6 +112,33 @@ public ValueTask<T> PostContentAsync<T>(
bool ignoreDefaultValues = false) =>
PostContentAsync<T, T>(relativeUrl, content, cancellationToken, mediaType, ignoreDefaultValues);


public async ValueTask<HttpResponseMessage> PutContentAsync(
string relativeUrl,
HttpContent content,
CancellationToken cancellationToken = default)
{
HttpResponseMessage responseMessage =
await this.httpClient.PutAsync(relativeUrl, content, cancellationToken);

await ValidationService.ValidateHttpResponseAsync(responseMessage);

return responseMessage;
}

public async ValueTask<TResult> PutContentAsync<TResult>(
string relativeUrl,
HttpContent content,
CancellationToken cancellationToken = default)
{
HttpResponseMessage responseMessage =
await this.httpClient.PutAsync(relativeUrl, content, cancellationToken);

await ValidationService.ValidateHttpResponseAsync(responseMessage);

return await DeserializeResponseContent<TResult>(responseMessage);
}

public async ValueTask<TResult> PostContentAsync<TContent, TResult>(
string relativeUrl,
TContent content,
Expand Down

0 comments on commit 6f2b1f1

Please sign in to comment.