Soenneker.X.Client
4.0.291
Prefix Reserved
dotnet add package Soenneker.X.Client --version 4.0.291
NuGet\Install-Package Soenneker.X.Client -Version 4.0.291
<PackageReference Include="Soenneker.X.Client" Version="4.0.291" />
<PackageVersion Include="Soenneker.X.Client" Version="4.0.291" />
<PackageReference Include="Soenneker.X.Client" />
paket add Soenneker.X.Client --version 4.0.291
#r "nuget: Soenneker.X.Client, 4.0.291"
#:package Soenneker.X.Client@4.0.291
#addin nuget:?package=Soenneker.X.Client&version=4.0.291
#tool nuget:?package=Soenneker.X.Client&version=4.0.291
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 | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Soenneker.Extensions.Configuration (>= 4.0.883)
- Soenneker.Utils.HttpClientCache (>= 4.0.2070)
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 |
|---|---|---|
| 4.0.291 | 77 | 9/9/2026 |
| 4.0.290 | 95 | 9/9/2026 |
| 4.0.289 | 69 | 9/9/2026 |
| 4.0.288 | 87 | 9/8/2026 |
| 4.0.287 | 133 | 9/8/2026 |
| 4.0.286 | 97 | 9/8/2026 |
| 4.0.285 | 109 | 9/7/2026 |
| 4.0.284 | 115 | 9/7/2026 |
| 4.0.283 | 108 | 9/7/2026 |
| 4.0.282 | 195 | 9/5/2026 |
| 4.0.281 | 116 | 9/5/2026 |
| 4.0.280 | 109 | 9/4/2026 |
| 4.0.279 | 94 | 9/4/2026 |
| 4.0.278 | 128 | 9/4/2026 |
| 4.0.277 | 115 | 9/4/2026 |
| 4.0.275 | 112 | 9/4/2026 |
| 4.0.274 | 173 | 9/1/2026 |
| 4.0.273 | 93 | 8/31/2026 |
| 4.0.272 | 92 | 8/31/2026 |
| 4.0.271 | 102 | 8/31/2026 |
Updated Multiple NuGet packages