Search Results for

    Show / Hide Table of Contents

    Class RESTClient

    A REST client class for handling various types of REST API requests. Rarely used by itself, mostly used with its derived base class, 'ApiClient'.

    Inheritance
    object
    RESTClient
    ApiClient<TSelf, TApi, TSettings>
    Inherited Members
    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 class RESTClient

    Constructors

    | Edit this page View Source

    RESTClient(RESTClientSettings)

    Constructor to initialize RESTClient with optional JSON settings.

    Declaration
    public RESTClient(RESTClientSettings clientSettings = null)
    Parameters
    Type Name Description
    RESTClientSettings clientSettings

    Fields

    | Edit this page View Source

    m_Settings

    Declaration
    protected RESTClientSettings m_Settings
    Field Value
    Type Description
    RESTClientSettings

    Properties

    | Edit this page View Source

    DefaultDownloadDirectoryPath

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

    DefaultFileMimeType

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

    ExceptionHandler

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

    ExceptionParser

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

    Jss

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

    LogOptions

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

    Logger

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

    MaxRetryCount

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

    MaxRetryDelaySeconds

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

    RetryDelaySeconds

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

    Timeout

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

    Xss

    Declaration
    public XmlSerializerSettings Xss { get; }
    Property Value
    Type Description
    XmlSerializerSettings

    Methods

    | Edit this page View Source

    DELETEAsync(RESTRequest)

    Sends a DELETE request with a generic request type and default response and error types.

    Declaration
    public UniTask<RESTResponse> DELETEAsync(RESTRequest request)
    Parameters
    Type Name Description
    RESTRequest request

    Request object.

    Returns
    Type Description
    UniTask<RESTResponse>

    Response result.

    | Edit this page View Source

    DELETEAsync<T>(RESTRequest)

    Sends a DELETE request with a generic request and response type.

    Declaration
    public UniTask<RESTResponse<T>> DELETEAsync<T>(RESTRequest request)
    Parameters
    Type Name Description
    RESTRequest request

    Request object.

    Returns
    Type Description
    UniTask<RESTResponse<T>>

    Response result.

    Type Parameters
    Name Description
    T

    Response body type.

    | Edit this page View Source

    DOWNLOADAsync(RESTRequest)

    Sends a file download request using HTTP GET and saves the response to disk. This is intended for downloading large files (e.g., video, audio, binary) efficiently. The request should specify the target file path and any required headers/options.

    Declaration
    public UniTask<DownloadResult> DOWNLOADAsync(RESTRequest request)
    Parameters
    Type Name Description
    RESTRequest request

    The RESTRequest containing the download URL and options.

    Returns
    Type Description
    UniTask<DownloadResult>

    A DownloadResponse containing the result and file path.

    | Edit this page View Source

    GETAsync(RESTRequest)

    Sends a GET request with a generic request and response type.

    Declaration
    public UniTask<RESTResponse> GETAsync(RESTRequest request)
    Parameters
    Type Name Description
    RESTRequest request

    Request object.

    Returns
    Type Description
    UniTask<RESTResponse>

    Response result.

    | Edit this page View Source

    GETAsync<T>(RESTRequest)

    Sends a GET request with a generic request type and default response and error types.

    Declaration
    public UniTask<RESTResponse<T>> GETAsync<T>(RESTRequest request)
    Parameters
    Type Name Description
    RESTRequest request

    Request object.

    Returns
    Type Description
    UniTask<RESTResponse<T>>

    Response result.

    Type Parameters
    Name Description
    T

    Response body type.

    | Edit this page View Source

    HEADAsync(RESTRequest)

    Sends a HEAD request with a generic request type and default response and error types.

    Declaration
    public UniTask<RESTResponse> HEADAsync(RESTRequest request)
    Parameters
    Type Name Description
    RESTRequest request

    Request object.

    Returns
    Type Description
    UniTask<RESTResponse>

    Response result.

    | Edit this page View Source

    HEADAsync<T>(RESTRequest)

    Sends a HEAD request with a generic request and response type.

    Declaration
    public UniTask<RESTResponse<T>> HEADAsync<T>(RESTRequest request)
    Parameters
    Type Name Description
    RESTRequest request

    Request object.

    Returns
    Type Description
    UniTask<RESTResponse<T>>

    Response result.

    Type Parameters
    Name Description
    T

    Response body type.

    | Edit this page View Source

    PATCHAsync(RESTRequest)

    Sends a PATCH request with a generic request type and default response and error types.

    Declaration
    public UniTask<RESTResponse> PATCHAsync(RESTRequest request)
    Parameters
    Type Name Description
    RESTRequest request

    Request object.

    Returns
    Type Description
    UniTask<RESTResponse>

    Response result.

    | Edit this page View Source

    PATCHAsync<T>(RESTRequest)

    Declaration
    public UniTask<RESTResponse<T>> PATCHAsync<T>(RESTRequest request)
    Parameters
    Type Name Description
    RESTRequest request
    Returns
    Type Description
    UniTask<RESTResponse<T>>
    Type Parameters
    Name Description
    T
    | Edit this page View Source

    POSTAsync(RESTRequest)

    Sends a POST request with a body and no response body.

    Declaration
    public UniTask<RESTResponse> POSTAsync(RESTRequest request)
    Parameters
    Type Name Description
    RESTRequest request

    Request object.

    Returns
    Type Description
    UniTask<RESTResponse>

    Response result.

    | Edit this page View Source

    POSTAsync<T>(RESTRequest)

    Sends a POST request with a generic request and response type.

    Declaration
    public UniTask<RESTResponse<T>> POSTAsync<T>(RESTRequest request)
    Parameters
    Type Name Description
    RESTRequest request

    Request object.

    Returns
    Type Description
    UniTask<RESTResponse<T>>

    Response result.

    Type Parameters
    Name Description
    T

    Response body type.

    | Edit this page View Source

    PUTAsync(RESTRequest)

    Sends a PUT request with a generic request type and default response and error types.

    Declaration
    public UniTask<RESTResponse> PUTAsync(RESTRequest request)
    Parameters
    Type Name Description
    RESTRequest request

    Request object.

    Returns
    Type Description
    UniTask<RESTResponse>

    Response result.

    | Edit this page View Source

    PUTAsync<T>(RESTRequest)

    Sends a PUT request with a generic request and response type.

    Declaration
    public UniTask<RESTResponse<T>> PUTAsync<T>(RESTRequest request)
    Parameters
    Type Name Description
    RESTRequest request

    Request object.

    Returns
    Type Description
    UniTask<RESTResponse<T>>

    Response result.

    Type Parameters
    Name Description
    T

    Response body type.

    | Edit this page View Source

    STREAMAsync<TDelta, TResult>(RESTRequest, IStreamPipeline<PooledBytes, TDelta, TResult>, string)

    Sends a streaming request and returns an async enumerable for direct await foreach usage.

    Declaration
    public IStream<TDelta, TResult> STREAMAsync<TDelta, TResult>(RESTRequest request, IStreamPipeline<PooledBytes, TDelta, TResult> pipeline, string method = "POST") where TResult : IResult
    Parameters
    Type Name Description
    RESTRequest request

    Request object.

    IStreamPipeline<PooledBytes, TDelta, TResult> pipeline

    Text event parser.

    string method

    HTTP method.

    Returns
    Type Description
    IStream<TDelta, TResult>

    Async enumerable of events.

    Type Parameters
    Name Description
    TDelta

    Event type.

    TResult
    | Edit this page View Source

    STREAMAsync<TDelta, TResult>(RESTRequest, IStreamPipeline<string, TDelta, TResult>, string)

    Sends a streaming request and returns an async enumerable for direct await foreach usage.

    Declaration
    public IStream<TDelta, TResult> STREAMAsync<TDelta, TResult>(RESTRequest request, IStreamPipeline<string, TDelta, TResult> pipeline, string method = "POST") where TResult : IResult
    Parameters
    Type Name Description
    RESTRequest request

    Request object.

    IStreamPipeline<string, TDelta, TResult> pipeline

    Text event parser.

    string method

    HTTP method.

    Returns
    Type Description
    IStream<TDelta, TResult>

    Async enumerable of events.

    Type Parameters
    Name Description
    TDelta

    Event type.

    TResult
    | Edit this page View Source

    SetOnetimeLogOptions(CurlLogOptions)

    Declaration
    public void SetOnetimeLogOptions(CurlLogOptions logOptions)
    Parameters
    Type Name Description
    CurlLogOptions logOptions

    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