Search Results for

    Show / Hide Table of Contents

    Namespace Glitch9.IO.Networking.RESTApi

    Classes

    AccessDeniedException

    AggregationException

    ApiClientSettings

    Base class for AI client settings. This class is used to store API keys and other settings related to AI clients.

    ApiClient<TSelf, TApi, TSettings>

    Extended RESTClient with CRUD operations for a single cloud API.

    AudioClipDecoder

    AudioStreamState

    BackendException

    Server (Service/Remote) => Client (Protocol/Local). Shit server sends when things go south.

    Base64PayloadToPooledBytesParser<T>

    Base64StreamState

    BinaryStreamState

    ChannelStreamHandler<TWire, TDelta, TResult>

    CrudHandler<T>

    Specializes CRUD operations for a specific type T. Provides a base implementation for CRUD operations, allowing derived classes to implement specific logic.

    CrudServiceBase<TClient>

    Base class for CRUD services, providing common properties and methods. If the service requires something that does not fit CrudService<TClient, TRequest, TResponse, TDeletionStatus, TQuery>, inherit from this class and implement the required methods.

    CrudService<TClient, TRequest, TResponse, TDeletionStatus, TQuery>

    CRUDService is a generic base class for performing standard CRUD operations against a RESTful API. It provides methods to create, retrieve, update, delete, and list resources on the server using a specified endpoint.

    If a specific operation is not needed, use object as a placeholder for the corresponding generic type. For example, if query options are not required, use object for TQuery.

    CrudUrlFormatter

    CursorQuery

    Cursor-based pagination query parameters.

    DataListExtensions

    DataList<T>

    A simple data list wrapper.

    DefaultApiSettings

    DeferredStream<TDelta, TResult>

    • Lazy stream wrapper: does not run async preparation until enumeration actually starts.
    • Factory is executed at most once; concurrent enumerators will await the same init task.
    • Cancellation token passed to GetAsyncEnumerator is used for factory + inner enumerator.

    DeletionStatus

    The most common implementation of IDeletionStatus.

    DownloadFailedException

    DownloadOptions

    DownloadResult

    EventItemKey

    ExceptionExtensions

    FileUploadRequest

    FramerUtil

    HeaderParameter

    IStringWrapperConverter

    InternalServerException

    JsonArrayElementFramer

    Frames each JSON element in a JSON array as a separate frame.

    • Waits for '[' to start.
    • Handles string/escape context and nested objects/arrays.
    • Yields each element as a frame.
    • On ']', closes the array and resets state.

    JsonDeltaTokenDeserializer<T>

    JsonNetUtility

    JsonStreamParser<T>

    LocalClientException

    MethodParameter

    MissingApiKeyException

    MissingAuthenticationException

    MissingClientSettingsException

    Exception thrown when the REST client settings are missing or not properly configured for a specific API. This typically indicates a configuration error that should be reported to the development team.

    MissingDownloadHandlerException

    MissingRequestParameterException

    NdjsonFramer

    NewlineByteFramer

    NotSupportedCrudException

    OptionExtensions

    PathParameter

    PathParameterAttribute

    PaymentRequiredException

    PipelineExtensions

    PolymorphicJsonConverter<T>

    PooledBytesToStreamingAudioDecoder<TAudioData, TDecoder>

    QueriedConverter<T>

    Queried<T>

    A generic query response wrapper for paginated API responses.

    QueryParameter

    QueryParameterAttribute

    RESTApiRules

    RESTApiUnityObjectUtils

    RESTApiUtils

    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'.

    RESTClientSettings

    Added 2025.04.15 to handle more setting properties for the RESTClient. This class is used to configure the RESTClient settings.

    RESTConfig

    RESTContractResolver

    RESTDownloadResponse

    RESTDownloader

    RESTEnum

    Used to be 'RESTEnumUtil'

    RESTEnumAttribute

    Associates an enum with an external API name and an optional key for parsing substring matches.

    RESTEnumConverter

    Custom Newtonsoft.Json.JsonConverter for API enum values.

    RESTIgnoreAttribute

    RESTRequest

    Represents an HTTP REST request, including endpoint, headers, body, and options. Supports sending requests with various content types and handling responses.

    RESTRequestConfigure

    RESTResponse

    The base class for all API objects returned by Glitch9.IO.Networking.RESTApi.RESTApiV7. This class encapsulates common properties and methods for handling various types of outputs from REST API responses.

    RESTResponse<T>

    RawJsonFramer

    Raw JSON framer.

    • Starts framing when encountering '{' or '[' (object/array).
    • Handles string/escape context, yields frame when depth returns to 0.
    • If invalid JSON, discards buffer.
    • (Option) If frame exceeds max bytes, resets state and buffer.

    RequestOptions

    Options for RESTRequest and RESTRequest<T>. This class is used to set the parameters for the http request.

    RequestParameter

    RequestParameterProvider

    RequestValidationException

    ResourceNotFoundException

    ResponseCastingExtensions

    Extension methods for casting and transforming REST API response types.

    SSELineFrameValidator

    SSEParser

    Stateful SSE stream parser. Feed() with a line and it will parse and return a ServerSentEvent if complete.

    ServerSentEvent

    The raw Server-Sent Event data.

    ServerSentEventException

    Service error delivered via Server-Sent Events (SSE). Thrown when the server emits an error event during streaming.

    ServiceError

    ServiceUnavailableException

    StreamEvent<TDelta, TResult>

    StreamOptions

    Options for streaming requests.

    StreamPipelineChainExtensions

    StreamScope

    • Per-stream state container carried by Delta.
    • Stores typed state objects internally (hidden object usage).
    • States must be mutated, not replaced.

    StreamSequenceInfo

    StreamSequencer<T>

    StreamingAudioAggregatorBase<TAudioData>

    StreamingAudioFinalizerBase<TResult>

    StreamingBinaryAggregatorBase<TBinaryChunk>

    StreamingBinaryFinalizerBase<TResult>

    StreamingDownloadListener

    StreamingException

    SystemLanguageIso639_1Converter

    Custom Newtonsoft.Json.JsonConverter for converting UnityEngine.SystemLanguage to and from its ISO code.

    TextStreamParser<TEvent>

    ThrottlingException

    TokenQuery

    Token-based pagination query parameters.

    UnityWebRequestExceptionHandler

    UnityWebRequestExceptionParser

    UnityWebRequestExtensions

    UnityWebRequestUtility

    UpcastingExtensions

    UpdateMask

    XmlDeltaTokenDeserializer<T>

    XmlStreamParser<T>

    Structs

    AudioOutput

    DeltaToken<T>

    • Delta token carrying stream context + value + error + scope.
    • Scope is a shared reference per stream (must be carried via Next).

    DownloadProgress

    EventContext

    HttpHeader

    ImageOutput

    ItemContext

    ResponseContext

    Interfaces

    IApiClient

    IBetaService

    IByteFramer

    Converts a byte stream into discrete frames based on specific delimiters or structures.

    ICompletableEvent

    Indicates that the event can be completed like a stream(delta).

    ICrudService

    IDataList<T>

    IDeletionStatus

    IDeltaTokenDeserializer<T>

    IDownloadable

    IEventItem

    Some events has multiple items inside, and emits them one by one. This interface is for identifying each event item.

    IFrameValidator

    IJsonRequest

    Override Content-Type to application/json

    IMultipartFormRequest

    Override Content-Type to multipart/form-data

    IProtobufRequest

    Override Content-Type to application/protobuf

    IQuery

    IRequestParameterProvider

    ISSMLRequest

    Override Content-Type to application/ssml+xml

    ISequencableEvent

    IServiceError

    IStreamAggregator<TIn>

    IStreamFinalizer<TResult>

    IStreamHandler

    Marker interface for all stream ingress handlers. Used for soft-referencing and signaling stream completion.

    IStreamHandler<TWire>

    Generic interface for stream handlers that process incoming transport messages of type TWire.

    IStreamPipeline<TWire, TEvent, TResult>

    IStreamPostProcessor

    IStreamProgress

    IStreamSequencerObserver<TEvent>

    IStreamStage<TIn, TOut>

    IStreamVisitor<TDelta, TResult>

    IStream<TDelta, TResult>

    IStreamingBinaryData

    IStreamingDownloadListener

    IStringWrapper

    Mostly used to represent Enum types from cloud providers. For cloud providers, Enum is too rigid because they often add new values. This interface and converter allow us to represent these values as strings while still providing type safety.

    ITypedEvent

    Indicates that the event payload has a specific type name.

    IUnityWebRequestExceptionHandler

    IUnityWebRequestExceptionParser

    IXmlRequest

    Override Content-Type to application/xml

    Enums

    AuthenticationType

    BackendErrorType

    Crud

    CRUD is abbreviation for Create, Read, Update, Delete. It is used to define the operations that can be performed on a REST resource.

    DownloadAbortMode

    FramerType

    LocalClientErrorType

    QuerySortOrder

    Sort order options for cursor-based pagination.

    RequestParameterType

    Enum for parameter types used in REST API requests.

    SSEField

    Server-Sent Event field keys.

    StreamEventType

    In this article
    Back to top AI DevKit Documentation