Constructor.
Optionalenvironment: HostConfigInfothe optional initial environment to use;
if a non-Environment object is passed then the properties of that object will
be used to construct a new Environment instance
OptionaluserApi: SolarUserApithe Net.SolarUserApi to use for instruction handling
Get the environment configuration.
Get a parameters object that can be used to hold URL variables.
A SSH session object.
Shortcut for getting the SSH session ID from the Domain.SshSession#sessionId property.
the base URL to the REST API
Create an instruction auth builder for pre-signing the terminal connect request.
The returned builder will be configured for a GET request using the
viewNodeMetadataUrl() URL.
OptionalnodeId: numberthe node ID to connect to; if not provided the nodeId parameter of this object will be used
the builder
Create an instruction auth builder for pre-signing the create session request.
The returned builder will be configured for a GET request using the
viewPendingInstructionsUrl() URL.
OptionalnodeId: numberthe node ID to connect to; if not provided the nodeId parameter of this object will be used
the builder
Get a new DatumFilter configured with parameters of this instance.
This will look for the following parameters:
nodeIdssourceIdsthe filter
Get an environment parameter.
This is a shortcut for calling Util.Configuration#value on the
environment object.
the environment parameter name to get
the environment parameter value
Set an environment parameter.
This is a shortcut for calling Util.Configuration#value on the
environment object.
the environment parameter name to set
the value to set
the environment object
Get a URL for just the SolarNet host, without any path to be used for actual requests.
Calls the toRequestUrl() with hostUrl() as the argument.
the URL to make reqeusts to the SolarNet host
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:
true then
use HTTPS as the protocol, otherwise HTTP.host for the host name or IP address.port for the port if available and not the standard 443 for
HTTPS or 80 for HTTP.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:
true then
use WSS as the protocol, otherwise WS.host for the host name or IP address.port for the port if available and not the standard 443 for
WSS or 80 for WS.the URL to the SolarNet host WebSocket
Get the URL to the SolarSSH HTTP proxy to the configured SolarNode.
the Domain.SshSession ID to use
the HTTP proxy URL
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
the expected type
the parameter name to get
the parameter value
Get a parameter.
This is a shortcut for calling Util.Configuration#value on the
parameters object.
the parameter name to get
the parameter value
Set a parameter.
This is a shortcut for calling Util.Configuration#value on the
parameters object.
the parameter name to set
the value to set
the parameters object
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.
a URL path template
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.
a URL template
the URL with template variables resolved
Create an instruction auth builder for pre-signing the start session request.
The returned builder will be configured for a POST request using the
queueInstructionUrl() URL with the StartRemoteSsh instruction.
OptionalsshSession: SshSessionthe session to use; if not provided the Net.SolarSshApi#sshSession property of this object will be used
the builder
Generate a URL for starting a SolarSSH session.
the Domain.SshSession ID to use
the URL
Create an instruction auth builder for pre-signing the stop session request.
The returned builder will be configured for a POST request using the
queueInstructionUrl() URL with the StopRemoteSsh instruction.
OptionalsshSession: SshSessionthe session to use; if not provided the Net.SolarSshApi#sshSession property of this object will be used
the builder
Generate a URL for stopping a SolarSSH session.
the Domain.SshSession ID to use
the URL
Get the URL to the SolarSSH WebSocket termainl connection for a SolarNode.
the Domain.SshSession ID to use
the WebSocket terminal URL
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.
the URL to make reqeusts to the SolarNet host
Create an instruction auth builder for signing the request to view the
StartRemoteSsh instruction.
The returned builder will be configured with the same URL returned from Net.SolarSshApi#viewStartRemoteSshInstructionUrl.
OptionalsshSession: SshSessionthe session to use; if not provided the Net.SolarSshApi#sshSession property of this object will be used
the builder
Generate a URL for viewing the StartRemoteSsh instruction.
OptionalsshSession: SshSessionthe session to use; if not provided the Net.SolarSshApi#sshSession property of this object will be used
the URL
Create an instruction auth builder for signing the request to view the
StopRemoteSsh instruction.
The returned builder will be configured with the same URL returned from Net.SolarSshApi#viewStopRemoteSshInstructionUrl.
OptionalsshSession: SshSessionthe session to use; if not provided the Net.SolarSshApi#sshSession property of this object will be used
the builder
Generate a URL for viewing the StopRemoteSsh instruction.
OptionalsshSession: SshSessionthe session to use; if not provided the Net.SolarSshApi#sshSession property of this object will be used
the URL
Generate a URL to get information about the requesting authenticated user.
the URL to view information about the authenticated user
StaticresolveReplace 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 /.
a URL template
an object whose properties should serve as template variables
the URL
The SolarSSH API URL helper.