Aydsko iRacing Data API
Show / Hide Table of Contents

Class ApiClient

Inheritance
object
ApiClient
Implements
IDisposable
IApiClient
Inherited Members
object.Equals(object)
object.Equals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
object.ReferenceEquals(object, object)
object.ToString()
Namespace: Aydsko.iRacingData
Assembly: Aydsko.iRacingData.dll
Syntax
public class ApiClient : IDisposable, IApiClient

Constructors

ApiClient(IAuthenticatingHttpClient, iRacingDataClientOptions, ILogger<ApiClient>)

Declaration
public ApiClient(IAuthenticatingHttpClient httpClient, iRacingDataClientOptions options, ILogger<ApiClient> logger)
Parameters
Type Name Description
IAuthenticatingHttpClient httpClient
iRacingDataClientOptions options
ILogger<ApiClient> logger

Properties

HttpClient

Declaration
protected IAuthenticatingHttpClient HttpClient { get; }
Property Value
Type Description
IAuthenticatingHttpClient

Logger

Declaration
protected ILogger<ApiClient> Logger { get; }
Property Value
Type Description
ILogger<ApiClient>

Options

Declaration
protected iRacingDataClientOptions Options { get; }
Property Value
Type Description
iRacingDataClientOptions

Methods

BuildDataResponse<TData>(HttpResponseHeaders, TData, DateTimeOffset?)

Declaration
protected DataResponse<TData> BuildDataResponse<TData>(HttpResponseHeaders headers, TData data, DateTimeOffset? expires = null)
Parameters
Type Name Description
HttpResponseHeaders headers
TData data
DateTimeOffset? expires
Returns
Type Description
DataResponse<TData>
Type Parameters
Name Description
TData

BuildIntermediateResultAsync<TResult>(Uri, JsonTypeInfo<TResult>, CancellationToken)

Declaration
protected virtual Task<(TResult?, HttpResponseHeaders)> BuildIntermediateResultAsync<TResult>(Uri intermediateUri, JsonTypeInfo<TResult> jsonTypeInfo, CancellationToken cancellationToken)
Parameters
Type Name Description
Uri intermediateUri
JsonTypeInfo<TResult> jsonTypeInfo
CancellationToken cancellationToken
Returns
Type Description
Task<(TResult, HttpResponseHeaders)>
Type Parameters
Name Description
TResult

CreateResponseFromChunksAsync<THeader, TChunkData>(Uri, bool, JsonTypeInfo<THeader>, Func<THeader, IChunkInfo>, JsonTypeInfo<TChunkData[]>, CancellationToken)

Declaration
public Task<DataResponse<(THeader, TChunkData[])>> CreateResponseFromChunksAsync<THeader, TChunkData>(Uri uri, bool isViaInfoLink, JsonTypeInfo<THeader> jsonTypeInfo, Func<THeader, IChunkInfo> getChunkDownloadDetail, JsonTypeInfo<TChunkData[]> chunkArrayTypeInfo, CancellationToken cancellationToken = default)
Parameters
Type Name Description
Uri uri
bool isViaInfoLink
JsonTypeInfo<THeader> jsonTypeInfo
Func<THeader, IChunkInfo> getChunkDownloadDetail
JsonTypeInfo<TChunkData[]> chunkArrayTypeInfo
CancellationToken cancellationToken
Returns
Type Description
Task<DataResponse<(THeader, TChunkData[])>>
Type Parameters
Name Description
THeader
TChunkData

CreateResponseViaIntermediateResultAsync<TIntermediate, TData>(Uri, JsonTypeInfo<TIntermediate>, Func<TIntermediate, (Uri DataLink, DateTimeOffset? Expires)>, JsonTypeInfo<TData>, CancellationToken)

Declaration
public Task<DataResponse<TData>> CreateResponseViaIntermediateResultAsync<TIntermediate, TData>(Uri intermediateUri, JsonTypeInfo<TIntermediate> intermediateJsonTypeInfo, Func<TIntermediate, (Uri DataLink, DateTimeOffset? Expires)> getDataLinkAndExpiry, JsonTypeInfo<TData> jsonTypeInfo, CancellationToken cancellationToken)
Parameters
Type Name Description
Uri intermediateUri
JsonTypeInfo<TIntermediate> intermediateJsonTypeInfo
Func<TIntermediate, (Uri DataLink, DateTimeOffset? Expires)> getDataLinkAndExpiry
JsonTypeInfo<TData> jsonTypeInfo
CancellationToken cancellationToken
Returns
Type Description
Task<DataResponse<TData>>
Type Parameters
Name Description
TIntermediate
TData

Dispose()

Declaration
public void Dispose()

Dispose(bool)

Declaration
protected virtual void Dispose(bool disposing)
Parameters
Type Name Description
bool disposing

EncodePassword(string, string)

Declaration
protected static string EncodePassword(string username, string password)
Parameters
Type Name Description
string username
string password
Returns
Type Description
string

GetDataResponseAsync<TData>(Uri, JsonTypeInfo<TData>, CancellationToken)

Declaration
public Task<DataResponse<TData>> GetDataResponseAsync<TData>(Uri uri, JsonTypeInfo<TData> jsonTypeInfo, CancellationToken cancellationToken) where TData : class
Parameters
Type Name Description
Uri uri
JsonTypeInfo<TData> jsonTypeInfo
CancellationToken cancellationToken
Returns
Type Description
Task<DataResponse<TData>>
Type Parameters
Name Description
TData

GetResponseWithHeadersFromJsonAsync<TResult>(Uri, JsonTypeInfo<TResult>, CancellationToken, bool)

Declaration
protected virtual Task<(TResult Result, HttpResponseHeaders Headers)> GetResponseWithHeadersFromJsonAsync<TResult>(Uri uri, JsonTypeInfo<TResult> jsonTypeInfo, CancellationToken cancellationToken, bool skipAuthentication = false) where TResult : class
Parameters
Type Name Description
Uri uri
JsonTypeInfo<TResult> jsonTypeInfo
CancellationToken cancellationToken
bool skipAuthentication
Returns
Type Description
Task<(TResult, HttpResponseHeaders)>
Type Parameters
Name Description
TResult

GetUnauthenticatedRawResponseAsync(Uri, CancellationToken)

Declaration
public Task<HttpResponseMessage> GetUnauthenticatedRawResponseAsync(Uri uri, CancellationToken cancellationToken = default)
Parameters
Type Name Description
Uri uri
CancellationToken cancellationToken
Returns
Type Description
Task<HttpResponseMessage>

GetUnauthenticatedResponseAsync<TData>(Uri, JsonTypeInfo<TData>, CancellationToken)

Declaration
public Task<TData> GetUnauthenticatedResponseAsync<TData>(Uri uri, JsonTypeInfo<TData> jsonTypeInfo, CancellationToken cancellationToken) where TData : class
Parameters
Type Name Description
Uri uri
JsonTypeInfo<TData> jsonTypeInfo
CancellationToken cancellationToken
Returns
Type Description
Task<TData>
Type Parameters
Name Description
TData

HandleUnsuccessfulResponse(HttpResponseMessage, string, ILogger)

Declaration
protected virtual void HandleUnsuccessfulResponse(HttpResponseMessage httpResponse, string content, ILogger logger)
Parameters
Type Name Description
HttpResponseMessage httpResponse
string content
ILogger logger

UseUsernameAndPassword(string, string, bool)

Declaration
[Obsolete("Do not use. Configure via the \"AddIRacingDataApi\" extension method on the IServiceCollection which allows you to configure the \"iRacingDataClientOptions\".")]
public void UseUsernameAndPassword(string username, string password, bool passwordIsEncoded)
Parameters
Type Name Description
string username
string password
bool passwordIsEncoded

Implements

IDisposable
IApiClient
In this article
Back to top Generated by DocFX