A consumer references the PdfAPI.Client package, constructs PdfClient once with a ClientInfo and a base URL, and calls its members directly — no registration with a DI container was found in any consumer observed in scope.
Every consumer observed in scope passes a default-constructed, empty ClientInfo — no ApplicationId, MachineName, or UserId is set by any caller in this repository (PdfApiClientTester\PdfApiClientTester\PdfTester.cs:23).
Step
Requirement
Base URL
Read from configuration key pdfapi.url via IEnvironmentService.GetConfigSetting("pdfapi.url") in every consumer observed in scope
ClientInfo
Supplied by the consumer; PdfClient sets no property of its own
Initialization
Single constructor — no follow-up initializer method exists or is required
None configured — inherits the JsonHttpClient default; the default value could not be verified from source available to this run**
No
PdfAPI.Client\PdfClient.cs:18
Yes
Retry
None configured
No
—
Yes
Circuit breaking
None configured
No
—
Yes
Thread safety
Safe for concurrent use — PdfClient has a single constructor, no two-phase initialization, and a readonlyJsonHttpClient field, so an instance is immutable after construction
—
PdfAPI.Client\PdfClient.cs:12-19
No
Cancellation
Not supported — no CancellationToken parameter on any member
The constructor new JsonHttpClient(baseUri, info) omits the timeout argument entirely, so whatever default JsonHttpClient applies is what governs every call — a consumer that needs a bounded call duration must wrap calls in its own outer timeout. There is no retry loop anywhere in PdfAPI.Client, so a consumer that needs resilience to transient HTTP failures must implement its own retry around every call. No CancellationToken exists on any member, so an in-flight call cannot be abandoned by the caller. See Tech debt.
// Construct the client and convert a request-shaped documentvarinfo=newClientInfo();varclient=newPdfAPI.Client.PdfClient(info,envSvc.GetConfigSetting("pdfapi.url"));varresult=client.Convert(newConvertRequest());
Scenario
Members used
Notes
Convert a document by request
Convert(ConvertRequest)
Drawn from PdfAPI.Client.Tests\PdfClientTests.cs construction pattern
Check whether bytes are a PDF, locally
IsPdf(byte[])
No network call; runs entirely in the consumer's process
Poll a tracked request's status
Track(long)
Single immediate read; the API's own retry defaults apply because PdfClient passes neither retryIntervalMilliseconds nor retryCount