Class MatrixHttpApi<O>

Type Parameters

Hierarchy (view full)

Constructors

Properties

opts: O

Methods

  • Perform an authorised request to the homeserver.

    Type Parameters

    • T

    Parameters

    • method: Method

      The HTTP method e.g. "GET".

    • path: string

      The HTTP path after the supplied prefix e.g. "/createRoom".

    • OptionalqueryParams: QueryDict

      A dict of query params (these will NOT be urlencoded). If unspecified, there will be no query params.

    • Optionalbody: Body

      The HTTP JSON body.

    • paramOpts: IRequestOpts & {
          doNotAttemptTokenRefresh?: boolean;
      } = {}

      additional options. When paramOpts.doNotAttemptTokenRefresh is true, token refresh will not be attempted when an expired token is encountered. Used to only attempt token refresh once.

    Returns Promise<ResponseType<T, O>>

    Promise which resolves to

    {
    data: {Object},
    headers: {Object},
    code: {Number},
    }

    If onlyData is set, this will resolve to the data object only.

  • Get the content repository url with query parameters.

    Returns IContentUri

    An object with a 'base', 'path' and 'params' for base URL, path and query parameters respectively.

  • Form and return a homeserver request URL based on the given path params and prefix.

    Parameters

    • path: string

      The HTTP path after the supplied prefix e.g. "/createRoom".

    • OptionalqueryParams: QueryDict

      A dict of query params (these will NOT be urlencoded).

    • Optionalprefix: string

      The full prefix to use e.g. "/_matrix/client/v2_alpha", defaulting to this.opts.prefix.

    • OptionalbaseUrl: string

      The baseUrl to use e.g. "https://matrix.org", defaulting to this.opts.baseUrl.

    Returns URL

    URL

  • Perform a request to the homeserver without any credentials.

    Type Parameters

    • T

    Parameters

    • method: Method

      The HTTP method e.g. "GET".

    • path: string

      The HTTP path after the supplied prefix e.g. "/createRoom".

    • OptionalqueryParams: QueryDict

      A dict of query params (these will NOT be urlencoded). If unspecified, there will be no query params.

    • Optionalbody: Body

      The HTTP JSON body.

    • Optionalopts: IRequestOpts

      additional options

    Returns Promise<ResponseType<T, O>>

    Promise which resolves to

    {
    data: {Object},
    headers: {Object},
    code: {Number},
    }

    If onlyData</code> is set, this will resolve to the <code>data object only.

  • Perform a request to an arbitrary URL.

    Type Parameters

    • T

    Parameters

    • method: Method

      The HTTP method e.g. "GET".

    • url: string | URL

      The HTTP URL object.

    • Optionalbody: Body

      The HTTP JSON body.

    • opts: Pick<IRequestOpts,
          | "priority"
          | "json"
          | "headers"
          | "abortSignal"
          | "localTimeoutMs"
          | "keepAlive"> = {}

      additional options

    Returns Promise<ResponseType<T, O>>

    Promise which resolves to data unless onlyData is specified as false, where the resolved value will be a fetch Response object.

  • Upload content to the homeserver

    Parameters

    • file: XMLHttpRequestBodyInit

      The object to upload. On a browser, something that can be sent to XMLHttpRequest.send (typically a File). Under node.js, a Buffer, String or ReadStream.

    • opts: UploadOpts = {}

      options object

    Returns Promise<UploadResponse>

    Promise which resolves to response object, as determined by this.opts.onlyData, opts.rawResponse, and opts.onlyContentUri. Rejects with an error (usually a MatrixError).