Interface IOnmsHTTP

Interface for making ReST calls to an HTTP server.

Notes to implementors:

  • Implementations of this interface MUST have a constructor that allows an empty constructor to be passed (although it is OK to take optional arguments for the purposes of unit testing or convenience).
  • Implementations MUST always use the current state of the server config property when creating requests. If the server property changes, the implementation should do whatever is necessary to reconfigure itself.
  • Implementations MUST follow this precedence for resolving the preferred [[OnmsServer]] object to use when making an individual connection:
    1. The server property on the passed [[OnmsHTTPOptions]] on individual method calls.
    2. The server property in the options property of the implementation.
    3. The server property of the implementation.
  • Implementations MUST follow this precedence for resolving the preferred [[OnmsAuthConfig]] to use when making an individual connection:
    1. The auth property on the passed [[OnmsHTTPOptions]] on individual method calls.
    2. The auth property on the options property of the implementation.
    3. The auth property on the server property of the implementation.

Note that if you subclass [[AbstractHTTP]], [[AbstractHTTP.getOptions]] will automatically provide you a hydrated [[OnmsHTTPOptions]] that handles most of this precedence for combining the server metadata.

interface IOnmsHTTP {
    options?: API.OnmsHTTPOptions;
    server?: API.OnmsServer;
    get(
        url: string,
        options?: API.OnmsHTTPOptions,
    ): Promise<API.OnmsResult<any>>;
    head(
        url: string,
        options?: API.OnmsHTTPOptions,
    ): Promise<API.OnmsResult<any>>;
    httpDelete(
        url: string,
        options?: API.OnmsHTTPOptions,
    ): Promise<API.OnmsResult<any>>;
    post(
        url: string,
        options?: API.OnmsHTTPOptions,
    ): Promise<API.OnmsResult<any>>;
    put(
        url: string,
        options?: API.OnmsHTTPOptions,
    ): Promise<API.OnmsResult<any>>;
}

Implemented by

Properties

The default options used when making requests with this instance.

server?: API.OnmsServer

The server associated with this instance.

Methods