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.