# Functions

LookupWellKnown looks up a well-known record for a matrix server.
NewClient makes a new Client.
No description provided by the author
NewFederationClient makes a new FederationClient.
NewFederationRequest creates a matrix request.
No description provided by the author
No description provided by the author
NewMSC2836EventRelationshipsRequest creates a new MSC2836 /event_relationships request with defaults set.
No description provided by the author
ResolveServer implements the server name resolution algorithm described at https://matrix.org/docs/spec/server_server/r0.1.1.html#resolving-server-names Returns a slice of ResolutionResult that can be used to send a federation request to the server using a given server name.
VerifyHTTPRequest extracts and verifies the contents of a net/http.Request.
WithDNSCache is an option that can be supplied to either NewClient or NewFederationClient.
WithKeepAlives is an option that can be supplied to either NewClient or NewFederationClient.
WithSkipVerify is an option that can be supplied to either NewClient or NewFederationClient.
WithTimeout is an option that can be supplied to either NewClient or NewFederationClient.
WithTransport is an option that can be supplied to either NewClient or NewFederationClient.
WithUserAgent enables specifying the user agent for the http client.
WithWellKnownSRVLookups enables federation lookups of well-known and SRV records.

# Constants

No description provided by the author
No description provided by the author
No description provided by the author
50KB.

# Structs

A Client makes HTTP requests to remote servers.
No description provided by the author
https://spec.matrix.org/unstable/client-server-api/#post_matrixclientr0keysdevice_signingupload.
No description provided by the author
DeviceKeys as per https://matrix.org/docs/spec/server_server/latest#post-matrix-federation-v1-user-keys-query.
No description provided by the author
No description provided by the author
A FederationRequest is a request to send to a remote server or a request received from a remote server.
InviteV2Request is used in the body of a /_matrix/federation/v2/invite request.
InviteV3Request is used in the body of a /_matrix/federation/v3/invite request.
MissingEvents represents a request for missing events.
MSC2836EventRelationshipsRequest is a request to /event_relationships from https://github.com/matrix-org/matrix-doc/blob/kegan/msc/threading/proposals/2836-threading.md nolint:maligned.
MSC2836EventRelationshipsResponse is a response to /event_relationships from https://github.com/matrix-org/matrix-doc/blob/kegan/msc/threading/proposals/2836-threading.md.
A PDUResult is the result of processing a matrix room event.
PublicRoom stores the info of a room returned by GET /_matrix/federation/v1/publicRooms.
A RelayEntry is used to track the nid of an event received from a relay server.
RelayEvents is the request body of a PUT to /_matrix/federation/v1/send_relay/{txnID}/{userID}.
ResolutionResult is a result of looking up a Matrix homeserver according to the federation specification.
RespClaimKeys is the response for https://matrix.org/docs/spec/server_server/latest#post-matrix-federation-v1-user-keys-claim.
A RespDirectory is the content of a response to GET /_matrix/federation/v1/query/directory This is returned when looking up a room alias from a remote server.
A RespEventAuth is the content of a response to GET /_matrix/federation/v1/event_auth/{roomID}/{eventID}.
A RespGetRelayTransaction is the response body of a successful GET to /_matrix/federation/v1/relay_txn/{userID}.
RespInvite is the content of a response to PUT /_matrix/federation/v1/invite/{roomID}/{eventID}.
RespInvite is the content of a response to PUT /_matrix/federation/v2/invite/{roomID}/{eventID}.
A RespMakeJoin is the content of a response to GET /_matrix/federation/v2/make_join/{roomID}/{userID}.
A RespMakeKnock is the content of a response to GET /_matrix/federation/v2/make_knock/{roomID}/{userID}.
A RespMakeLeave is the content of a response to GET /_matrix/federation/v2/make_leave/{roomID}/{userID}.
A RespMissingEvents is the content of a response to GET /_matrix/federation/v1/get_missing_events/{roomID}.
A RespPeek is the content of a response to GET /_matrix/federation/v1/peek/{roomID}/{peekID}.
RespProfile is the content of a response to GET /_matrix/federation/v1/query/profile.
RespPublicRooms is the content of a response to GET /_matrix/federation/v1/publicRooms.
RespQueryKeys is the response for https://matrix.org/docs/spec/server_server/latest#post-matrix-federation-v1-user-keys-query.
A RespSend is the content of a response to PUT /_matrix/federation/v1/send/{txnID}/.
A RespSendJoin is the content of a response to PUT /_matrix/federation/v2/send_join/{roomID}/{eventID}.
A RespSendKnock is the content of a response to PUT /_matrix/federation/v2/send_knock/{roomID}/{eventID}.
A RespState is the content of a response to GET /_matrix/federation/v1/state/{roomID}/{eventID}.
A RespStateIDs is the content of a response to GET /_matrix/federation/v1/state_ids/{roomID}/{eventID}.
RespUserDevice are embedded in RespUserDevices https://matrix.org/docs/spec/server_server/latest#get-matrix-federation-v1-user-devices-userid.
RespUserDeviceKeys are embedded in RespUserDevice https://matrix.org/docs/spec/server_server/latest#get-matrix-federation-v1-user-devices-userid.
RespUserDevices contains a response to /_matrix/federation/v1/user/devices/{userID} https://matrix.org/docs/spec/server_server/latest#get-matrix-federation-v1-user-devices-userid.
RoomHierarchyResponse is the HTTP response body for the federation /unstable/spaces/{roomID} endpoint See https://github.com/matrix-org/matrix-doc/pull/2946.
RoomHierarchyRoom represents a public room with additional metadata on the space directory.
RoomHierarchyStrippedEvent is the format of events returned in the HTTP response body.
No description provided by the author
UserInfo represents information about a user.
A Version is a struct that matches the version response from a Matrix homeserver.
WellKnownResult is the result of looking up a matrix server's well-known file.

# Interfaces

No description provided by the author
an interface for gmsl.FederationClient - contains functions called by federationapi only.

# Type aliases

ClientOption are supplied to NewClient or NewFederationClient.
No description provided by the author