Class ServiceHttpClientHeaderModifier
An implementation of an HTTP client which abstracts the Task of sending HttpRequestMessage and adds a fixed set of predefined headers to each request.
Inherited Members
Namespace: Unity.Cloud.Common
Assembly: Unity.Cloud.Common.dll
Syntax
public class ServiceHttpClientHeaderModifier : IServiceHttpClient, IHttpClient
  Constructors
ServiceHttpClientHeaderModifier(IServiceHttpClient, Dictionary<string, string>, string)
Creates and instance of ServiceHttpClientHeaderModifier.
Declaration
public ServiceHttpClientHeaderModifier(IServiceHttpClient serviceHttpClient, Dictionary<string, string> headers, string urlFilter = null)
  Parameters
| Type | Name | Description | 
|---|---|---|
| IServiceHttpClient | serviceHttpClient | The client who's requests will have headers added.  | 
      
| Dictionary<string, string> | headers | The headers to add to each request.  | 
      
| string | urlFilter | The optional url filter to determine which requests should have the headers added. A null or empty filter will add the headers to all requests.  | 
      
Exceptions
| Type | Condition | 
|---|---|
| ArgumentNullException | Thrown if   | 
      
Properties
Timeout
The timespan to wait before the request times out.
Declaration
public TimeSpan Timeout { get; set; }
  Property Value
| Type | Description | 
|---|---|
| TimeSpan | 
Methods
SendAsync(HttpRequestMessage, HttpCompletionOption, IProgress<HttpProgress>, CancellationToken)
Sends an asynchronous HTTP request.
Declaration
public Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, HttpCompletionOption completionOption, IProgress<HttpProgress> progress, CancellationToken cancellationToken)
  Parameters
| Type | Name | Description | 
|---|---|---|
| HttpRequestMessage | request | The request to be sent.  | 
      
| HttpCompletionOption | completionOption | When the operation should complete.  | 
      
| IProgress<HttpProgress> | progress | The progress provider.  | 
      
| CancellationToken | cancellationToken | Cancellation token that will try to cancel the operation.  | 
      
Returns
| Type | Description | 
|---|---|
| Task<HttpResponseMessage> | A task that will hold the HttpResponseMessage once the request is completed  | 
      
Exceptions
| Type | Condition | 
|---|---|
| ArgumentNullException | Thrown when the request is null.  | 
      
| HttpRequestException | Thrown when an HTTP response can't be obtained from the server.  | 
      
| OperationCanceledException | Thrown when the request is cancelled by a cancellation token or due to timeout.  | 
      
SendAsync(HttpRequestMessage, ServiceHttpClientOptions, HttpCompletionOption, IProgress<HttpProgress>, CancellationToken)
Send an asynchronous HTTP request.
Declaration
public Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, ServiceHttpClientOptions options, HttpCompletionOption completionOption, IProgress<HttpProgress> progress = null, CancellationToken cancellationToken = default)
  Parameters
| Type | Name | Description | 
|---|---|---|
| HttpRequestMessage | request | The request to be sent.  | 
      
| ServiceHttpClientOptions | options | The options for the client.  | 
      
| HttpCompletionOption | completionOption | When the operation should complete.  | 
      
| IProgress<HttpProgress> | progress | The progress provider.  | 
      
| CancellationToken | cancellationToken | Optional cancellation token that will try to cancel the operation.  | 
      
Returns
| Type | Description | 
|---|---|
| Task<HttpResponseMessage> | A task that will hold the HttpResponseMessage once the request is completed  | 
      
Exceptions
| Type | Condition | 
|---|---|
| ArgumentNullException | Thrown when the request is null.  | 
      
| HttpRequestException | Thrown when an HTTP response can't be obtained from the server.  | 
      
| OperationCanceledException | Thrown when the request is cancelled by a cancellation token.  | 
      
| TimeoutException | Thrown when the request failed due to timeout.  |