Crate ruma_api[][src]

Expand description

Core types used to define the requests and responses for each endpoint in the various Matrix API specifications.

When implementing a new Matrix API, each endpoint has a request type which implements Endpoint, and a response type connected via an associated type.

An implementation of Endpoint contains all the information about the HTTP method, the path and input parameters for requests, and the structure of a successful response. Such types can then be used by client code to make requests, and by server code to fulfill those requests.

Modules

error

This module contains types for all kinds of errors that can occur when converting between http requests / responses and ruma’s representation of matrix API requests / responses.

Macros

ruma_api

Generates a ruma_api::Endpoint from a concise definition.

Structs

Metadata

Metadata about an API endpoint.

Enums

AuthScheme

Authentication scheme used by the endpoint.

SendAccessToken

An enum to control whether an access token should be added to outgoing requests

Traits

EndpointError

Gives users the ability to define their own serializable / deserializable errors.

IncomingNonAuthRequest

Marker trait for requests that don’t require authentication, for the server side.

IncomingRequest

A request type for a Matrix API endpoint, used for receiving requests.

IncomingResponse

A response type for a Matrix API endpoint, used for receiving responses.

OutgoingNonAuthRequest

Marker trait for requests that don’t require authentication, for the client side.

OutgoingRequest

A request type for a Matrix API endpoint, used for sending requests.

OutgoingRequestAppserviceExt

An extension to OutgoingRequest which provides Appservice specific methods

OutgoingResponse

A request type for a Matrix API endpoint, used for sending responses.