Class ApiClient<TSelf, TApi, TSettings>
Extended RESTClient with CRUD operations for a single cloud API.
Inheritance
ApiClient<TSelf, TApi, TSettings>
Assembly: Glitch9.IO.dll
Syntax
public abstract class ApiClient<TSelf, TApi, TSettings> : RESTClient, IApiClient where TSelf : ApiClient<TSelf, TApi, TSettings>, new() where TSettings : ApiClientSettings
Type Parameters
| Name |
Description |
| TSelf |
|
| TApi |
|
| TSettings |
|
Constructors
|
Edit this page
View Source
ApiClient(TApi)
Declaration
protected ApiClient(TApi api)
Parameters
| Type |
Name |
Description |
| TApi |
api |
|
Properties
|
Edit this page
View Source
Declaration
public HttpHeader[] AdditionalHeaders { get; }
Property Value
|
Edit this page
View Source
Api
Declaration
Property Value
|
Edit this page
View Source
BaseRequestParameters
Declaration
public Dictionary<string, RequestParameter> BaseRequestParameters { get; }
Property Value
|
Edit this page
View Source
BaseUrl
The base URL of the Cloud API.
Declaration
public string BaseUrl { get; }
Property Value
|
Edit this page
View Source
DefaultInstance
Declaration
public static TSelf DefaultInstance { get; }
Property Value
|
Edit this page
View Source
Name
The name of the Cloud API.
Declaration
public string Name { get; }
Property Value
|
Edit this page
View Source
RequiresApiKey
Declaration
public bool RequiresApiKey { get; }
Property Value
|
Edit this page
View Source
Settings
Declaration
public TSettings Settings { get; }
Property Value
| Type |
Description |
| TSettings |
|
Methods
|
Edit this page
View Source
Override this to add more headers as needed.
Declaration
protected virtual List<HttpHeader> CreateAdditionalHeaders()
Returns
|
Edit this page
View Source
CreateBaseRequestParameters()
Creates the request parameters for API key, version, and beta version.
Declaration
protected virtual Dictionary<string, RequestParameter> CreateBaseRequestParameters()
Returns
|
Edit this page
View Source
CreateJsonConverters()
Override this to add more JsonConverters.
Declaration
protected virtual List<JsonConverter> CreateJsonConverters()
Returns
| Type |
Description |
| List<JsonConverter> |
|
|
Edit this page
View Source
DELETEAsync(ICrudService, string, RequestOptions, params RequestParameter[])
Declaration
public virtual UniTask<RESTResponse> DELETEAsync(ICrudService service, string url, RequestOptions options = null, params RequestParameter[] @params)
Parameters
Returns
|
Edit this page
View Source
DELETEAsync<TStatus>(ICrudService, string, RequestOptions, params RequestParameter[])
Declaration
public virtual UniTask<TStatus> DELETEAsync<TStatus>(ICrudService service, string url, RequestOptions options, params RequestParameter[] @params) where TStatus : class, IDeletionStatus
Parameters
Returns
| Type |
Description |
| UniTask<TStatus> |
|
Type Parameters
|
Edit this page
View Source
DELETEAsync<TBody, TStatus>(ICrudService, string, TBody, RequestOptions, params RequestParameter[])
Declaration
public virtual UniTask<TStatus> DELETEAsync<TBody, TStatus>(ICrudService service, string url, TBody body, RequestOptions options, params RequestParameter[] @params) where TStatus : class, IDeletionStatus
Parameters
Returns
| Type |
Description |
| UniTask<TStatus> |
|
Type Parameters
| Name |
Description |
| TBody |
|
| TStatus |
|
|
Edit this page
View Source
DownloadAsync(ICrudService, string, RequestOptions, params RequestParameter[])
Downloads a file from the specified endpoint using the provided CRUD service and options.
It has no return value.
Declaration
public virtual UniTask<DownloadResult> DownloadAsync(ICrudService service, string url, RequestOptions options, params RequestParameter[] @params)
Parameters
Returns
|
Edit this page
View Source
GETAsync(ICrudService, string, RequestOptions, params RequestParameter[])
Declaration
public virtual UniTask<RESTResponse> GETAsync(ICrudService service, string url, RequestOptions options, params RequestParameter[] @params)
Parameters
Returns
|
Edit this page
View Source
GETAsync<TResponse>(ICrudService, string, RequestOptions, params RequestParameter[])
Declaration
public virtual UniTask<TResponse> GETAsync<TResponse>(ICrudService service, string url, RequestOptions options, params RequestParameter[] @params)
Parameters
Returns
| Type |
Description |
| UniTask<TResponse> |
|
Type Parameters
| Name |
Description |
| TResponse |
|
|
Edit this page
View Source
GetClientSettings()
Declaration
protected abstract TSettings GetClientSettings()
Returns
| Type |
Description |
| TSettings |
|
|
Edit this page
View Source
GetContractResolver()
Declaration
protected virtual IContractResolver GetContractResolver()
Returns
| Type |
Description |
| IContractResolver |
|
|
Edit this page
View Source
PATCHAsync<TResponse>(ICrudService, string, RequestOptions, params RequestParameter[])
Declaration
public virtual UniTask<TResponse> PATCHAsync<TResponse>(ICrudService service, string url, RequestOptions options, params RequestParameter[] @params)
Parameters
Returns
| Type |
Description |
| UniTask<TResponse> |
|
Type Parameters
| Name |
Description |
| TResponse |
|
|
Edit this page
View Source
POSTAsync<TResponse>(ICrudService, string, RequestOptions, params RequestParameter[])
Declaration
public virtual UniTask<TResponse> POSTAsync<TResponse>(ICrudService service, string url, RequestOptions options, params RequestParameter[] @params)
Parameters
Returns
| Type |
Description |
| UniTask<TResponse> |
|
Type Parameters
| Name |
Description |
| TResponse |
|
|
Edit this page
View Source
POSTAsync<TBody>(ICrudService, string, TBody, RequestOptions, params RequestParameter[])
Declaration
public virtual UniTask<RESTResponse> POSTAsync<TBody>(ICrudService service, string url, TBody body, RequestOptions options, params RequestParameter[] @params)
Parameters
Returns
Type Parameters
|
Edit this page
View Source
POSTAsync<TBody, TResponse>(ICrudService, string, TBody, RequestOptions, params RequestParameter[])
Declaration
public virtual UniTask<TResponse> POSTAsync<TBody, TResponse>(ICrudService service, string url, TBody body, RequestOptions options, params RequestParameter[] @params)
Parameters
Returns
| Type |
Description |
| UniTask<TResponse> |
|
Type Parameters
| Name |
Description |
| TBody |
|
| TResponse |
|
|
Edit this page
View Source
PUTAsync<TBody>(ICrudService, string, TBody, RequestOptions, params RequestParameter[])
Declaration
public virtual UniTask<RESTResponse> PUTAsync<TBody>(ICrudService service, string url, TBody body, RequestOptions options, params RequestParameter[] @params)
Parameters
Returns
Type Parameters
|
Edit this page
View Source
STREAMAsync<TDelta, TResult>(ICrudService, string, RequestOptions, IStreamPipeline<PooledBytes, TDelta, TResult>, params RequestParameter[])
Declaration
public virtual IStream<TDelta, TResult> STREAMAsync<TDelta, TResult>(ICrudService service, string url, RequestOptions options, IStreamPipeline<PooledBytes, TDelta, TResult> pipeline, params RequestParameter[] @params) where TResult : IResult
Parameters
Returns
| Type |
Description |
| IStream<TDelta, TResult> |
|
Type Parameters
| Name |
Description |
| TDelta |
|
| TResult |
|
|
Edit this page
View Source
STREAMAsync<TDelta, TResult>(ICrudService, string, RequestOptions, IStreamPipeline<string, TDelta, TResult>, params RequestParameter[])
Declaration
public virtual IStream<TDelta, TResult> STREAMAsync<TDelta, TResult>(ICrudService service, string url, RequestOptions options, IStreamPipeline<string, TDelta, TResult> pipeline, params RequestParameter[] @params) where TResult : IResult
Parameters
Returns
| Type |
Description |
| IStream<TDelta, TResult> |
|
Type Parameters
| Name |
Description |
| TDelta |
|
| TResult |
|
|
Edit this page
View Source
STREAMAsync<TBody, TDelta, TResult>(ICrudService, string, TBody, RequestOptions, IStreamPipeline<PooledBytes, TDelta, TResult>, params RequestParameter[])
Declaration
public virtual IStream<TDelta, TResult> STREAMAsync<TBody, TDelta, TResult>(ICrudService service, string url, TBody body, RequestOptions options, IStreamPipeline<PooledBytes, TDelta, TResult> pipeline, params RequestParameter[] @params) where TResult : IResult
Parameters
Returns
| Type |
Description |
| IStream<TDelta, TResult> |
|
Type Parameters
| Name |
Description |
| TBody |
|
| TDelta |
|
| TResult |
|
|
Edit this page
View Source
STREAMAsync<TBody, TDelta, TResult>(ICrudService, string, TBody, RequestOptions, IStreamPipeline<string, TDelta, TResult>, params RequestParameter[])
Declaration
public virtual IStream<TDelta, TResult> STREAMAsync<TBody, TDelta, TResult>(ICrudService service, string url, TBody body, RequestOptions options, IStreamPipeline<string, TDelta, TResult> pipeline, params RequestParameter[] @params) where TResult : IResult
Parameters
Returns
| Type |
Description |
| IStream<TDelta, TResult> |
|
Type Parameters
| Name |
Description |
| TBody |
|
| TDelta |
|
| TResult |
|
|
Edit this page
View Source
ValidateAuthAsync()
Declaration
public virtual UniTask<bool> ValidateAuthAsync()
Returns
| Type |
Description |
| UniTask<bool> |
|
|
Edit this page
View Source
ValidateEndpointAsync(string)
Returns true if the response code is 200 (OK)
Declaration
public UniTask<bool> ValidateEndpointAsync(string url)
Parameters
| Type |
Name |
Description |
| string |
url |
|
Returns
| Type |
Description |
| UniTask<bool> |
|
Implements
Extension Methods