Skip to content

TransmitterConfigurationClient Class

Fetches a transmitter's configuration metadata from the well-known address its issuer identifier resolves to (SSF 1.0 Sections 7.2, 7.2.1), and refuses a document that does not assert the issuer it was fetched for.

C#
public sealed class TransmitterConfigurationClient

Inheritance System.Object → TransmitterConfigurationClient

Remarks

Authentication, proxies and retries are the System.Net.Http.HttpClient's configuration - the host wires them where it wires every other outbound client; this type owns only the SSF mechanics.

Constructors

TransmitterConfigurationClient(HttpClient) Constructor

Fetches a transmitter's configuration metadata from the well-known address its issuer identifier resolves to (SSF 1.0 Sections 7.2, 7.2.1), and refuses a document that does not assert the issuer it was fetched for.

C#
public TransmitterConfigurationClient(System.Net.Http.HttpClient httpClient);

Parameters

httpClient System.Net.Http.HttpClient

The client the document is fetched with.

Remarks

Authentication, proxies and retries are the System.Net.Http.HttpClient's configuration - the host wires them where it wires every other outbound client; this type owns only the SSF mechanics.

Methods

TransmitterConfigurationClient.GetAsync(Uri, CancellationToken) Method

Fetches the Transmitter Configuration Metadata for issuer.

C#
public System.Threading.Tasks.Task<Abblix.SharedSignals.Model.TransmitterConfiguration> GetAsync(System.Uri issuer, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

issuer System.Uri

The transmitter's issuer identifier, from a trusted source (SSF 1.0 Section 7.2).

cancellationToken System.Threading.CancellationToken

Cancels the fetch.

Returns

System.Threading.Tasks.Task<TransmitterConfiguration>
The metadata document, its issuer identity confirmed.

Exceptions

System.Net.Http.HttpRequestException
The transmitter answered with an error status.

System.InvalidOperationException
The document is empty, or asserts an issuer other than the one it was fetched for - the SSF counterpart of the identity check every discovery protocol makes, without which a document served on one issuer's path could impersonate another issuer of the same host.

TransmitterConfigurationClient.GetAsync(Uri, Uri, CancellationToken) Method

Fetches the Transmitter Configuration Metadata for issuer from an explicitly named address instead of the one the issuer resolves to.

C#
public System.Threading.Tasks.Task<Abblix.SharedSignals.Model.TransmitterConfiguration> GetAsync(System.Uri issuer, System.Uri metadataAddress, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

issuer System.Uri

The transmitter's issuer identifier, from a trusted source - still the identity the document must assert.

metadataAddress System.Uri

Where the document is fetched from.

cancellationToken System.Threading.CancellationToken

Cancels the fetch.

Returns

System.Threading.Tasks.Task<TransmitterConfiguration>
The metadata document, its issuer identity confirmed.

Exceptions

System.Net.Http.HttpRequestException
The transmitter answered with an error status.

System.InvalidOperationException
The document is empty, arrives under a media type other than "application/json", or asserts an issuer other than issuer.

Remarks

The insertion-derived well-known address is the conformant location (SSF 1.0 Section 7.2) and the parameterless overload is the normal door. This one exists for transmitters that publish the document elsewhere - a non-conformant implementation, or a deployment quirk the receiver cannot fix from its side. Every check stays in force, the issuer identity above all: the address only says where the bytes come from, never who they speak for.