Options
All
  • Public
  • Public/Protected
  • All
Menu

Class to lookup the hostname, port and host headers of a given Matrix servername according to the server discovery section of the spec.

Hierarchy

  • MatrixHostResolver

Index

Constructors

constructor

  • new MatrixHostResolver(opts?: { axios?: Axios; currentTimeMs?: number; dns?: DnsInterface }): MatrixHostResolver

Accessors

currentTime

  • get currentTime(): number

Methods

resolveMatrixServer

  • resolveMatrixServer(hostname: string, skipCache?: boolean): Promise<{ hostHeader: string; url: URL }>
  • Resolves a Matrix serverName into the baseURL for federated requests, and the Host header to use when serving requests.

    Results are cached by default. Please note that failures are cached, determined by the constant CacheFailureForMS.

    Parameters

    • hostname: string

      The Matrix hostname to resolve. e.g. matrix.org

    • skipCache: boolean = false

      Should the request be executed regardless of the cached value? Existing cached values will be overwritten.

    Returns Promise<{ hostHeader: string; url: URL }>

    The baseurl of the Matrix server (excluding /_matrix/federation suffix), and the hostHeader to be used.

resolveMatrixServerName

  • Resolves a Matrix serverName, fetching any delegated information. This request is NOT cached. For general use, please use resolveMatrixServer.

    Parameters

    • hostname: string

      The Matrix hostname to resolve. e.g. matrix.org

    Returns Promise<HostResolveResult>

    An object describing the delegated details for the host.

Generated using TypeDoc