Skip to content

VaultTransport Class

The shared HTTP transport to a Vault / OpenBao server.

C#
public static class VaultTransport

Inheritance System.Object → VaultTransport

Remarks

One transport per server, not per engine: the custodian and the key ring talk to the same Vault with the same token, so they resolve one named client from System.Net.Http.IHttpClientFactory and share its connection pool and the one place where the auth header, its redaction and the connection lifetime are settled. The send itself is a function over an System.Net.Http.HttpClient, with no state of its own, so it is an extension rather than a service.

The type is public for one member, HttpClientName: the transport is what a host configures, and its consumers are internal, so there is nowhere narrower to publish the name from. Everything else stays internal.

Fields

VaultTransport.HttpClientName Field

The name the transport's client is registered under, published so a host can configure it without copying the string: services.AddHttpClient(VaultTransport.HttpClientName) reaches the same client both engines resolve, and whatever it chains - a resilience pipeline, a proxy, a client certificate - applies to every Vault call.

C#
public const string HttpClientName = "Abblix.Jwt.Vault";

Field Value

System.String

Remarks

It is a name of its own rather than a typed client of whichever engine came first, because both engines share it.