Class SolarQueryUrlHelper

Extension of UrlHelper for SolarQuery APIs.

The base URL uses the configured environment to resolve the hostUrl, the solarQueryPath context path, and the publicQuery boolean flag. If the context path is not available, it will default to /solarquery.

Hierarchy

Constructors

Properties

The network environment (host, port, and so on).

#parameters: Configuration

Parameters for URL variables.

Accessors

Methods

  • Get a URL for just the SolarNet host, without any path.

    This method constructs an absolute URL based on the following properties configured on this instance's Net.Environment:

    1. If environment.useTls() returns true then use HTTPS as the protocol, otherwise HTTP.
    2. Use host for the host name or IP address.
    3. Use port for the port if available and not the standard 443 for HTTPS or 80 for HTTP.

    Returns string

    the URL to the SolarNet host

  • Get a URL for just the SolarNet host using the WebSocket protocol, without any path.

    This method constructs an absolute URL based on the following properties configured on this instance's Net.Environment:

    1. If environment.useTls() returns true then use WSS as the protocol, otherwise WS.
    2. Use host for the host name or IP address.
    3. Use port for the port if available and not the standard 443 for WSS or 80 for WS.

    Returns string

    the URL to the SolarNet host WebSocket

  • Get a parameter, with plural suffix array support.

    This method will first look for a parameter named exactly key, and if found return that. Otherwise it will look for an array parameter named key with s appended, and if found return the first element from that array. For example:

    const helper = new UrlHelper();
    helper.parameter('nodeIds', [1, 2, 3]);

    helper.param('nodeIds'); // [1, 2, 3]
    helper.param('nodeId'); // 1

    If key already ends in s, then a desired array result is assumed. If a value is not found for the parameter, then s is removed from key and that parameter value is returned, as an array if it is not already. For example:

    const helper = new UrlHelper();
    helper.parameter('nodeId', 1);

    helper.param('nodeIds'); // [1]
    helper.param('nodeId'); // 1

    Type Parameters

    • T

      the expected type

    Parameters

    • key: string

      the parameter name to get

    Returns undefined | T

    the parameter value

  • Replace occurances of URL template variables with values from the parameters property and append to the host URL.

    This method provides a way to resolve an absolute URL based on the configured environment and parameters on this object.

    Parameters

    • template: string

      a URL path template

    Returns string

    an absolute URL

  • Replace occurances of URL template variables with values from the parameters property.

    URL template variables are specified as {<em>name</em>}. The variable will be replaced by the value associated with property name in the parameters object. The value will be URI encoded.

    Parameters

    • template: string

      a URL template

    Returns string

    the URL with template variables resolved

  • Get the URL to actually request, incorporating the environment's proxyUrlPrefix if available.

    If a environment.proxyUrlPrefix value is configured, this will re-write the URL to use that host prefix, otherwise url will be returned unchanged.

    Parameters

    • url: string

    Returns string

    the URL to make reqeusts to the SolarNet host

  • Replace occurances of URL template variables with values from a parameter object.

    URL template variables are specified as {<em>name</em>}. The variable will be replaced by the value associated with property name in the provided parameter object. The value will be URI encoded.

    Any occurances of // after replacing template variables will be reduced to /.

    Parameters

    • template: string

      a URL template

    • params: Record<string, any>

      an object whose properties should serve as template variables

    Returns string

    the URL

Generated using TypeDoc