net~ LocationDatumMetadataUrlHelper

Extends

Members

environment :module:net~Environment

The environment associated with this helper.

(readonly) parameters :module:util~Configuration

Get a parameters object that can be used to hold URL variables.

Methods

(abstract) baseUrl() → {string}

Get the base URL to the REST API.

This implementation is a stub, meant for subclasses to override. This implementation simply returns module:net~UrlHelper#hostUrl.

Returns:

the base URL to the REST API

Type: 
string

env(key, valopt) → {object}

Get or set an environment parameter.

This is a shortcut for calling module:net~Configuration#value on the environment object.

Parameters:
NameTypeAttributesDescription
keystring

the environment parameter name to get

valobject<optional>

the optional value to set

Returns:

when called as a getter, the environment parameter value; when called as a setter, the environment parameters object

Type: 
object

hostUrl() → {string}

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 module: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, unless proxyHost is available.
  3. Use port for the port, unless proxyPort is available. If neither are available, use 443 for HTTPS or 80 for HTTP.
Returns:

the URL to the SolarNet host

Type: 
string

hostWebSocketUrl() → {string}

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 module: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, unless proxyHost is available.
  3. Use port for the port, unless proxyPort is available. If neither are available, use 443 for WSS or 80 for WS.
Returns:

the URL to the SolarNet host WebSocket

Type: 
string

parameter(key, valopt) → {Object}

Get or set a parameter.

This is a shortcut for calling module:net~Configuration#value on the parameters object.

Parameters:
NameTypeAttributesDescription
keystring

the parameter name to get

valObject<optional>

the optional value to set

Returns:

when called as a getter, the parameter value; when called as a setter, the parameters object

Type: 
Object

resolveTemplatePath(template) → {string}

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:
NameTypeDescription
templatestring

a URL path template

Returns:

an absolute URL

Type: 
string

resolveTemplateUrl(template) → {string}

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:
NameTypeDescription
templatestring

a URL template

Returns:

the URL with template variables resolved

Type: 
string