> ## Documentation Index
> Fetch the complete documentation index at: https://docs.resq.software/llms.txt
> Use this file to discover all available pages before exploring further.

# ResQ.Clients.BaseServiceClient

### [ResQ.Clients](./ResQ.Clients.md "ResQ.Clients")

## BaseServiceClient Class

Abstract base class for ResQ service clients.
Provides common HTTP client setup with resilience patterns (retry, circuit breaker, timeout).

```csharp theme={null}
public abstract class BaseServiceClient : System.IDisposable
```

Inheritance [System.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object "System.Object") → BaseServiceClient

Derived\
↳ [CoordinationHceClient](./ResQ.Clients.CoordinationHceClient.md "ResQ.Clients.CoordinationHceClient")\
↳ [InfrastructureApiClient](./ResQ.Clients.InfrastructureApiClient.md "ResQ.Clients.InfrastructureApiClient")

Implements [System.IDisposable](https://learn.microsoft.com/en-us/dotnet/api/system.idisposable "System.IDisposable")

| Properties                                                                                                                          |                                                                                     |
| :---------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------- |
| [AuthorizationHeader](./ResQ.Clients.BaseServiceClient.AuthorizationHeader.md "ResQ.Clients.BaseServiceClient.AuthorizationHeader") | Gets or sets the authorization header for the current async flow.                   |
| [ServiceName](./ResQ.Clients.BaseServiceClient.ServiceName.md "ResQ.Clients.BaseServiceClient.ServiceName")                         | Service name for logging purposes (e.g., "Infrastructure API", "Coordination HCE"). |

| Methods                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |                                                                                         |
| :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------- |
| [BuildResiliencePipeline(bool)](./ResQ.Clients.BaseServiceClient.BuildResiliencePipeline\(bool\).md "ResQ.Clients.BaseServiceClient.BuildResiliencePipeline(bool)")                                                                                                                                                                                                                                                                                                                                                                                                                                                | Builds the resilience pipeline with circuit breaker, timeout, and optional retries.     |
| [Dispose()](./ResQ.Clients.BaseServiceClient.Dispose\(\).md "ResQ.Clients.BaseServiceClient.Dispose()")                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | Disposes the HTTP client.                                                               |
| [ExecuteWithResilienceAsync(HttpMethod, Func\<CancellationToken,Task\<HttpResponseMessage>>, CancellationToken)](./ResQ.Clients.BaseServiceClient.ExecuteWithResilienceAsync\(System.Net.Http.HttpMethod,System.Func_System.Threading.CancellationToken,System.Threading.Tasks.Task_System.Net.Http.HttpResponseMessage__,System.Threading.CancellationToken\).md "ResQ.Clients.BaseServiceClient.ExecuteWithResilienceAsync(System.Net.Http.HttpMethod, System.Func\<System.Threading.CancellationToken,System.Threading.Tasks.Task\<System.Net.Http.HttpResponseMessage>>, System.Threading.CancellationToken)") | Executes an HTTP request with a resilience policy appropriate for the HTTP method.      |
| [SendAsync(HttpMethod, string, HttpContent, CancellationToken, bool)](./ResQ.Clients.BaseServiceClient.SendAsync\(System.Net.Http.HttpMethod,string,System.Net.Http.HttpContent,System.Threading.CancellationToken,bool\).md "ResQ.Clients.BaseServiceClient.SendAsync(System.Net.Http.HttpMethod, string, System.Net.Http.HttpContent, System.Threading.CancellationToken, bool)")                                                                                                                                                                                                                                | Sends an HTTP request, applying authorization from the current async flow when present. |
