SAIF.Web.API.Clients dependencies¶
SAIF.Web.API.Clients has a single same-repo project dependency (SAIF.Web.API.Core, for the shared ApiResponse<T> envelope and SAIF.API.Exceptions.* hierarchy), one internal organizational NuGet package (SAIF.Framework.Common, consumed for two string-extension helpers), and two external public packages (Newtonsoft.Json, RestSharp) that carry its HTTP transport and JSON serialization. It performs no database, external API, or cross-application navigation of its own. Its source files are shared with the SAIF.Web.API.Clients.35 sibling project, which packages the same .cs files for a net35 target with different package versions.
Internal dependencies¶
| Dependency | Reference Type | Usage |
|---|---|---|
| SAIF.Web.API.Core | Project Reference | Supplies SAIF.API.Responses.ApiResponse<T> (the response envelope returned by GetResponse<T>, PostJson<T>, PutJson<T>, PatchJson<T>, DeleteJson<T>) and the SAIF.API.Exceptions.SAIFException hierarchy (NoMatchingDataException, UnauthorizedAccessException, InvalidDataException, InternalServerError) thrown by ExceptionHandler.ToKnownError. |
| SAIF.Framework.Common | NuGet Package | Consumed for two SAIF.Common.Extensions string helpers, IsNullOrEmpty() and IsNullOrWhiteSpace(), used in ExceptionHandler.cs. This package has no matching same-repo documentation set in this repository, so it is classified as an internal-organization NuGet package. No dependency-documentation lookup was performed for this package, so any of its own business rules are not reflected here**. |
External dependencies¶
| Dependency | Version | Usage |
|---|---|---|
| Newtonsoft.Json | 8.0.3 | JToken/JArray/JObject/JValue parsing, JsonTextReader/JsonTextWriter, Newtonsoft.Json.JsonSerializer, and DateTimeZoneHandling — used throughout request-body serialization (JsonSerializer.cs) and response-shape normalization (JsonHttpClient.GetContentArray<T>). |
| RestSharp | 106.12.0 | RestClient, RestRequest, Method, IRestResponse, Parameter, IAuthenticator, NtlmAuthenticator, JsonDeserializer, and ISerializer — the HTTP transport, authentication, and content-handler surface that JsonHttpClient, ExceptionHandler, and JsonSerializer build on. |
Dependency risks and notes¶
- Package-declared dependency version mismatch.
nuspec/SAIF.Web.API.Clients/SAIF.Web.API.Clients.nuspecdeclaresSAIF.Framework.Commonversion1.0, whileSAIF.Web.API.Clients.csprojpins2.0.22074.3. Consumers installing from the nuspec-declared dependency range may resolve an olderSAIF.Framework.Commonthan the one this assembly was actually compiled against. - Two divergent nuspec files exist for this package with incompatible relative paths and different declared dependency sets (
src/SAIF.Web.API.Clients/SAIF.Web.API.Clients.nuspecships source only;nuspec/SAIF.Web.API.Clients/SAIF.Web.API.Clients.nuspecshipslib\net45assemblies). Which nuspec the build pipeline actually packs was not confirmed from the files read**. SAIF.Framework.Commonconsumption surface is narrow. Usage is limited toIsNullOrEmpty()/IsNullOrWhiteSpace()at two call sites inExceptionHandler.cs, with self-evident semantics from their names and call sites*.System.Webreference gap.SAIF.Web.API.Clients.csprojdeclares no<Reference Include="System.Web" />, yetJsonHttpClient.csandHttpContextExtensions.csboth bindSystem.Web.HttpContext. Whether this resolves implicitly at build time or indicates a stale project file is unconfirmed**.SAIF.Web.API.Coreis packaged alongside this library, not a build-time-only reference:nuspec/SAIF.Web.API.Clients/SAIF.Web.API.Clients.nuspeclists bothSAIF.Web.API.ClientsandSAIF.Web.API.Coreassemblies underlib\net45, so this project reference ships as part of the same NuGet package rather than as a separate consumer dependency.- Debug build configuration for a released package.
pipelines/build-vars-webapiclients.ymlsetsBuildConfiguration: debug, which is unusual for a package intended for release consumption and may mean shipped binaries are unoptimized with full debug symbols*. - No dependency-related validation, retry-scoping, or version pinning guidance is enforced by this library beyond what is declared in the csproj/nuspec — callers should confirm the resolved
SAIF.Framework.Common,Newtonsoft.Json, andRestSharpversions match what their consuming application expects, particularly given the nuspec/csproj version discrepancy noted above.
Note: Statements marked with
*were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with**could not be confirmed; treat as unknown until verified.
Related documentation¶
Sources¶
src/SAIF.Web.API.Clients/SAIF.Web.API.Clients.csprojsrc/SAIF.Web.API.Clients/JsonHttpClient.cssrc/SAIF.Web.API.Clients/ExceptionHandler.cssrc/SAIF.Web.API.Clients/JsonSerializer.cssrc/SAIF.Web.API.Clients/Extensions/HttpContextExtensions.cssrc/SAIF.Web.API.Clients.35/SAIF.Web.API.Clients.35.csprojsrc/SAIF.Web.API.Core/SAIF.Web.API.Core.csprojnuspec/SAIF.Web.API.Clients/SAIF.Web.API.Clients.nuspecsrc/SAIF.Web.API.Clients/SAIF.Web.API.Clients.nuspecpipelines/build-vars-webapiclients.yml