XtremeIdiots.Redirect.Api.Client.V1
1.0.20
dotnet add package XtremeIdiots.Redirect.Api.Client.V1 --version 1.0.20
NuGet\Install-Package XtremeIdiots.Redirect.Api.Client.V1 -Version 1.0.20
<PackageReference Include="XtremeIdiots.Redirect.Api.Client.V1" Version="1.0.20" />
<PackageVersion Include="XtremeIdiots.Redirect.Api.Client.V1" Version="1.0.20" />
<PackageReference Include="XtremeIdiots.Redirect.Api.Client.V1" />
paket add XtremeIdiots.Redirect.Api.Client.V1 --version 1.0.20
#r "nuget: XtremeIdiots.Redirect.Api.Client.V1, 1.0.20"
#:package XtremeIdiots.Redirect.Api.Client.V1@1.0.20
#addin nuget:?package=XtremeIdiots.Redirect.Api.Client.V1&version=1.0.20
#tool nuget:?package=XtremeIdiots.Redirect.Api.Client.V1&version=1.0.20
XtremeIdiots.Redirect.Api.Client.V1
services.AddRedirectApiClient(options => options
.WithBaseUrl("https://maps.xtremeidiots.com")
.WithEntraIdAuthentication("api://your-configured-resource"));
Resolve IRedirectApiClient. All calls return published MX ApiResult<T>
envelopes; inspect IsSuccess, IsConflict, IsNotFound, and Result.Errors.
Catalogue entries return authoritative direct download URLs and opaque versions.
Pass the snapshot version on subsequent pages; restart on HTTP 409.
Manifest(game, mapName, version) returns the complete recursive MapManifest
for that same snapshot. Pass the version on the first page and every manifest
as well. Missing maps return 404, oversized manifests 413, never partial success.
Bulk consumers can use BrowseTree(string path, string search = "", int page = 1, int pageSize = 50, string? version = null, CancellationToken cancellationToken = default).
It returns ApiResult<CataloguePage> with flat indexed descendant directories
and files, excluding the selected root, maximum200 entries per page. Ordinary
Browse remains nonrecursive. Pin the same version across all Maps/BrowseTree
pages and preserve each file's returned URL/version. Browse, BrowseTree,
Maps and Manifest preserve409/404 error envelopes without converting them
to CLIENT_ERROR. They retry429 within a bounded budget while respecting
Retry-After and cancellation.
Uploads require a SHA256 checksum, explicit offsets and a final commit.
UploadChunk accepts only one bounded chunk, not an entire file. After an
ambiguous network failure query UploadStatus before resending.
Mutations are not automatically retried. Archive jobs return a private download
URL. The same registration supplies IRedirectDownloadClient: use
OpenFile(ContentEntry, offset) or OpenArchive(ArchiveJob, offset, etag).
It shares Entra authentication and returns a caller-owned HttpResponseMessage
without buffering its body. Dispose the response after copying the stream.
File versions and resume ranges are validated; archive URLs are same-origin.
Append only on206; a200 resumed archive response requires restarting.
Service roles permit catalogue/files/transfers, not forum-only administration. All network methods accept cancellation tokens. Supports .NET 9 and .NET 10.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. 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
- MX.Api.Client (>= 2.3.81)
- XtremeIdiots.Redirect.Api.Abstractions.V1 (>= 1.0.20)
-
net9.0
- MX.Api.Client (>= 2.3.81)
- XtremeIdiots.Redirect.Api.Abstractions.V1 (>= 1.0.20)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.