Soenneker.X.Client
11.0.339
Prefix Reserved
dotnet add package Soenneker.X.Client --version 11.0.339
NuGet\Install-Package Soenneker.X.Client -Version 11.0.339
<PackageReference Include="Soenneker.X.Client" Version="11.0.339" />
<PackageVersion Include="Soenneker.X.Client" Version="11.0.339" />
<PackageReference Include="Soenneker.X.Client" />
paket add Soenneker.X.Client --version 11.0.339
#r "nuget: Soenneker.X.Client, 11.0.339"
#:package Soenneker.X.Client@11.0.339
#addin nuget:?package=Soenneker.X.Client&version=11.0.339
#tool nuget:?package=Soenneker.X.Client&version=11.0.339
Soenneker.X.Client
Provides a cached HttpClient configured for X API v2. Authentication is applied per request so the same transport can safely serve app-only and user-context calls.
Installation
dotnet add package Soenneker.X.Client
Registration and usage
using System.Net.Http.Headers;
using Soenneker.X.Client.Abstract;
using Soenneker.X.Client.Registrars;
services.AddXHttpClientAsSingleton();
public sealed class XUserService
{
private readonly IXHttpClient _clientProvider;
public XUserService(IXHttpClient clientProvider)
{
_clientProvider = clientProvider;
}
public async Task<string> GetByUsername(
string username,
string bearerToken,
CancellationToken cancellationToken)
{
HttpClient client = await _clientProvider.Get(cancellationToken);
using var request = new HttpRequestMessage(
HttpMethod.Get,
$"users/by/username/{Uri.EscapeDataString(username)}");
request.Headers.Authorization =
new AuthenticationHeaderValue("Bearer", bearerToken);
using HttpResponseMessage response = await client.SendAsync(
request,
cancellationToken);
response.EnsureSuccessStatusCode();
return await response.Content.ReadAsStringAsync(cancellationToken);
}
}
Do not place a per-user token in DefaultRequestHeaders on the shared client. Add the appropriate app bearer token or OAuth user access token to each request; X endpoints differ in which authentication context they accept.
Use AddXHttpClientAsScoped() when the provider should follow a scope. Each provider owns its cached client and removes it when disposed.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net11.0 is compatible. |
-
net11.0
- Soenneker.Extensions.Configuration (>= 11.0.914)
- Soenneker.Utils.HttpClientCache (>= 11.0.2139)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Soenneker.X.Client:
| Package | Downloads |
|---|---|
|
Soenneker.X.ClientUtil
Provides a cached X OpenAPI client authenticated with a configured bearer token. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 11.0.339 | 170 | 10/27/2026 |
| 11.0.338 | 104 | 10/27/2026 |
| 11.0.337 | 117 | 10/26/2026 |
| 11.0.336 | 83 | 10/26/2026 |
| 11.0.335 | 89 | 10/26/2026 |
| 4.0.334 | 564 | 10/15/2026 |
| 4.0.333 | 91 | 10/15/2026 |
| 4.0.332 | 108 | 10/14/2026 |
| 4.0.331 | 107 | 10/14/2026 |
| 4.0.328 | 137 | 10/14/2026 |
| 4.0.322 | 137 | 10/13/2026 |
| 4.0.321 | 95 | 10/13/2026 |
| 4.0.318 | 140 | 10/12/2026 |
| 4.0.317 | 107 | 10/11/2026 |
| 4.0.316 | 99 | 10/11/2026 |
| 4.0.315 | 269 | 10/9/2026 |
| 4.0.314 | 380 | 10/1/2026 |
| 4.0.313 | 162 | 9/29/2026 |
| 4.0.312 | 137 | 9/29/2026 |
| 4.0.311 | 195 | 9/26/2026 |
Remove redundant framework conditions