Search Results for

    Show / Hide Table of Contents

    Class ApiClient<TSelf, TApi, TSettings>

    Extended RESTClient with CRUD operations for a single cloud API.

    Inheritance
    object
    RESTClient
    ApiClient<TSelf, TApi, TSettings>
    AIClient<TSelf, TSettings>
    GraphClient
    Implements
    IApiClient
    Inherited Members
    RESTClient.Jss
    RESTClient.Xss
    RESTClient.Logger
    RESTClient.LogOptions
    RESTClient.Timeout
    RESTClient.ExceptionParser
    RESTClient.ExceptionHandler
    RESTClient.MaxRetryCount
    RESTClient.RetryDelaySeconds
    RESTClient.MaxRetryDelaySeconds
    RESTClient.DefaultFileMimeType
    RESTClient.DefaultDownloadDirectoryPath
    RESTClient.m_Settings
    RESTClient.SetOnetimeLogOptions(CurlLogOptions)
    RESTClient.POSTAsync(RESTRequest)
    RESTClient.POSTAsync<T>(RESTRequest)
    RESTClient.PUTAsync(RESTRequest)
    RESTClient.PUTAsync<T>(RESTRequest)
    RESTClient.GETAsync<T>(RESTRequest)
    RESTClient.GETAsync(RESTRequest)
    RESTClient.DELETEAsync<T>(RESTRequest)
    RESTClient.DELETEAsync(RESTRequest)
    RESTClient.HEADAsync(RESTRequest)
    RESTClient.HEADAsync<T>(RESTRequest)
    RESTClient.PATCHAsync(RESTRequest)
    RESTClient.PATCHAsync<T>(RESTRequest)
    RESTClient.STREAMAsync<TDelta, TResult>(RESTRequest, IStreamPipeline<string, TDelta, TResult>, string)
    RESTClient.STREAMAsync<TDelta, TResult>(RESTRequest, IStreamPipeline<PooledBytes, TDelta, TResult>, string)
    RESTClient.DOWNLOADAsync(RESTRequest)
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: Glitch9.IO.Networking.RESTApi
    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

    AdditionalHeaders

    Declaration
    public HttpHeader[] AdditionalHeaders { get; }
    Property Value
    Type Description
    HttpHeader[]
    | Edit this page View Source

    Api

    Declaration
    public TApi Api { get; }
    Property Value
    Type Description
    TApi
    | Edit this page View Source

    BaseRequestParameters

    Declaration
    public Dictionary<string, RequestParameter> BaseRequestParameters { get; }
    Property Value
    Type Description
    Dictionary<string, RequestParameter>
    | Edit this page View Source

    BaseUrl

    The base URL of the Cloud API.

    Declaration
    public string BaseUrl { get; }
    Property Value
    Type Description
    string
    | Edit this page View Source

    DefaultInstance

    Declaration
    public static TSelf DefaultInstance { get; }
    Property Value
    Type Description
    TSelf
    | Edit this page View Source

    Name

    The name of the Cloud API.

    Declaration
    public string Name { get; }
    Property Value
    Type Description
    string
    | Edit this page View Source

    RequiresApiKey

    Declaration
    public bool RequiresApiKey { get; }
    Property Value
    Type Description
    bool
    | Edit this page View Source

    Settings

    Declaration
    public TSettings Settings { get; }
    Property Value
    Type Description
    TSettings

    Methods

    | Edit this page View Source

    CreateAdditionalHeaders()

    Override this to add more headers as needed.

    Declaration
    protected virtual List<HttpHeader> CreateAdditionalHeaders()
    Returns
    Type Description
    List<HttpHeader>
    | 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
    Type Description
    Dictionary<string, RequestParameter>
    | 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
    Type Name Description
    ICrudService service
    string url
    RequestOptions options
    RequestParameter[] params
    Returns
    Type Description
    UniTask<RESTResponse>
    | 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
    Type Name Description
    ICrudService service
    string url
    RequestOptions options
    RequestParameter[] params
    Returns
    Type Description
    UniTask<TStatus>
    Type Parameters
    Name Description
    TStatus
    | 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
    Type Name Description
    ICrudService service
    string url
    TBody body
    RequestOptions options
    RequestParameter[] params
    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
    Type Name Description
    ICrudService service
    string url
    RequestOptions options
    RequestParameter[] params
    Returns
    Type Description
    UniTask<DownloadResult>
    | 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
    Type Name Description
    ICrudService service
    string url
    RequestOptions options
    RequestParameter[] params
    Returns
    Type Description
    UniTask<RESTResponse>
    | 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
    Type Name Description
    ICrudService service
    string url
    RequestOptions options
    RequestParameter[] params
    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
    Type Name Description
    ICrudService service
    string url
    RequestOptions options
    RequestParameter[] params
    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
    Type Name Description
    ICrudService service
    string url
    RequestOptions options
    RequestParameter[] params
    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
    Type Name Description
    ICrudService service
    string url
    TBody body
    RequestOptions options
    RequestParameter[] params
    Returns
    Type Description
    UniTask<RESTResponse>
    Type Parameters
    Name Description
    TBody
    | 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
    Type Name Description
    ICrudService service
    string url
    TBody body
    RequestOptions options
    RequestParameter[] params
    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
    Type Name Description
    ICrudService service
    string url
    TBody body
    RequestOptions options
    RequestParameter[] params
    Returns
    Type Description
    UniTask<RESTResponse>
    Type Parameters
    Name Description
    TBody
    | 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
    Type Name Description
    ICrudService service
    string url
    RequestOptions options
    IStreamPipeline<PooledBytes, TDelta, TResult> pipeline
    RequestParameter[] params
    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
    Type Name Description
    ICrudService service
    string url
    RequestOptions options
    IStreamPipeline<string, TDelta, TResult> pipeline
    RequestParameter[] params
    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
    Type Name Description
    ICrudService service
    string url
    TBody body
    RequestOptions options
    IStreamPipeline<PooledBytes, TDelta, TResult> pipeline
    RequestParameter[] params
    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
    Type Name Description
    ICrudService service
    string url
    TBody body
    RequestOptions options
    IStreamPipeline<string, TDelta, TResult> pipeline
    RequestParameter[] params
    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

    IApiClient

    Extension Methods

    ArrayExtensions.ToArrayOrEmpty<T>(T)
    ArrayExtensions.ToArrayOrNull<T>(T)
    EventExtensions.ToDelta<T>(T, string, int, string, bool)
    EventExtensions.ToDone<T>(T, string, int, string)
    EventExtensions.ToEvent<T>(T)
    EventExtensions.UpcastDelta<T1, T2>(T1, string, int, string, bool)
    FallbackExtensions.IsOr<TParent, TChild>(TParent, TChild)
    ResponseCastingExtensions.GetResult<T>(T)
    SystemExtensions.GetName(object)
    • Edit this page
    • View Source
    In this article
    Back to top AI DevKit Documentation