SAIF.Web.API.Clients.35 overview¶
Documentation context: Packaged Component (NuGet)
⚠️ Dormant/retired legacy variant.
SAIF.Web.API.Clients.35has no source files of its own — all compiled source is linked from the siblingSAIF.Web.API.Clientsproject via<Compile Include>items. The project is not a member ofsrc/SAIF.Web.API.Clients.sln, so CI never builds it, and its output is referenced only by commented-out<file>entries innuspec/SAIF.Web.API.Clients/SAIF.Web.API.Clients.nuspec, so the net35 assembly is not shipped by the current package definition. Treat this documentation set as a historical record of a legacy multi-target build, not as an actively maintained or distributed component.*
SAIF.Web.API.Clients.35 is the .NET Framework v3.5 build variant of the SAIF Web API client library. It issues JSON HTTP requests to a SAIF Web API and returns a typed result or a typed exception, using the identical linked source as the actively-built SAIF.Web.API.Clients (net4.6.2) project. It contains no business domain logic, no UI, and no persistence.
Purpose¶
- Provide a
.NET Framework v3.5-targeted build of the SAIF Web API JSON HTTP client for legacy consumers that cannot load a net4.x assembly, by compiling linked source from the siblingSAIF.Web.API.Clientsproject rather than maintaining separate source.* - Given a base URI, caller identity (
ClientInfo), and an authenticator, issue a JSON HTTP request to a SAIF Web API and return a typed result (GetResult<T>), a typed result array (GetResults<T>), or a full response envelope (GetResponse<T>,PostJson<T>,PutJson<T>,PatchJson<T>,DeleteJson<T>). - Translate unsuccessful HTTP responses into a typed
SAIFExceptionsubtype sourced fromSAIF.Web.API.Core's exception taxonomy.
Responsibilities¶
- Serialize outbound request bodies and deserialize inbound JSON payloads using a Newtonsoft-based
JsonSerializerwith configurableDateTimeZoneHandling. - Optionally propagate identity headers (
Client-Name,Application-ID,Client-User) on every request and, when configured, an on-behalf-of impersonation header. - Retry transient failures (default: transport failure/502/503/401) up to 3 times with a configurable delay before surfacing an error.
- Map HTTP status codes and response bodies to the appropriate
SAIF.API.Exceptions.*type.
Key components¶
JsonHttpClient: public façade exposing the verb-specific request methods (GetResult,GetResults,GetResponse,PostJson,PutJson,PatchJson,DeleteJson) and the private request construction/transport/retry logic.ClientInfo: immutable-style DTO carrying the caller identity emitted as request headers.ExceptionHandler: static type that maps HTTP status code + response body to a specificSAIFExceptionsubtype.JsonSerializer:RestSharp.Serializers.ISerializerimplementation backed by Newtonsoft.Json.EnvironmentSetting: immutable key/value DTO not referenced by any other type in this library's compiled scope — an unused public DTO here.*
Related documentation¶
- Index
- Architecture
- Dependencies
- Operations and processes
- Business rules
- Security and authorization
- API reference
Note: Statements marked with
*were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts.
Sources¶
- src/SAIF.Web.API.Clients.35/SAIF.Web.API.Clients.35.csproj
- src/SAIF.Web.API.Clients.35/packages.config
- src/SAIF.Web.API.Clients/JsonHttpClient.cs
- src/SAIF.Web.API.Clients/ClientInfo.cs
- src/SAIF.Web.API.Clients/ExceptionHandler.cs
- src/SAIF.Web.API.Clients/JsonSerializer.cs
- src/SAIF.Web.API.Clients/EnvironmentSetting.cs
- src/SAIF.Web.API.Clients.sln
- nuspec/SAIF.Web.API.Clients/SAIF.Web.API.Clients.nuspec