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'.
Inherited Members
Namespace: Glitch9.IO.Networking.RESTApi
Assembly: Glitch9.IO.dll
Syntax
public class RESTClient
Constructors
| Edit this page View SourceRESTClient(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 Sourcem_Settings
Declaration
protected RESTClientSettings m_Settings
Field Value
| Type | Description |
|---|---|
| RESTClientSettings |
Properties
| Edit this page View SourceDefaultDownloadDirectoryPath
Declaration
public string DefaultDownloadDirectoryPath { get; }
Property Value
| Type | Description |
|---|---|
| string |
DefaultFileMimeType
Declaration
public MimeType DefaultFileMimeType { get; }
Property Value
| Type | Description |
|---|---|
| MimeType |
ExceptionHandler
Declaration
public IUnityWebRequestExceptionHandler ExceptionHandler { get; }
Property Value
| Type | Description |
|---|---|
| IUnityWebRequestExceptionHandler |
ExceptionParser
Declaration
public IUnityWebRequestExceptionParser ExceptionParser { get; }
Property Value
| Type | Description |
|---|---|
| IUnityWebRequestExceptionParser |
Jss
Declaration
public JsonSerializerSettings Jss { get; }
Property Value
| Type | Description |
|---|---|
| JsonSerializerSettings |
LogOptions
Declaration
public CurlLogOptions LogOptions { get; }
Property Value
| Type | Description |
|---|---|
| CurlLogOptions |
Logger
Declaration
public CurlLogger Logger { get; }
Property Value
| Type | Description |
|---|---|
| CurlLogger |
MaxRetryCount
Declaration
public int MaxRetryCount { get; }
Property Value
| Type | Description |
|---|---|
| int |
MaxRetryDelaySeconds
Declaration
public float MaxRetryDelaySeconds { get; }
Property Value
| Type | Description |
|---|---|
| float |
RetryDelaySeconds
Declaration
public float RetryDelaySeconds { get; }
Property Value
| Type | Description |
|---|---|
| float |
Timeout
Declaration
public TimeSpan Timeout { get; }
Property Value
| Type | Description |
|---|---|
| TimeSpan |
Xss
Declaration
public XmlSerializerSettings Xss { get; }
Property Value
| Type | Description |
|---|---|
| XmlSerializerSettings |
Methods
| Edit this page View SourceDELETEAsync(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. |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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 |
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. |
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. |
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. |
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. |
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 |
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 |
SetOnetimeLogOptions(CurlLogOptions)
Declaration
public void SetOnetimeLogOptions(CurlLogOptions logOptions)
Parameters
| Type | Name | Description |
|---|---|---|
| CurlLogOptions | logOptions |