@sealsystems/connect-service
v3.2.1
Published
Connects to a service.
Downloads
26
Keywords
Readme
@sealsystems/connect-service
Connects to a service with given host name and port number.
Installation
$ npm install @sealsystems/connect-service
Quick start
First you need to add a reference to @sealsystems/connect-service within your application.
const connectService = require('@sealsystems/connect-service');
Please note: A connection to consul must already exist before you can use the module.
To create a HTTP/HTTPS connection to an instance of a service (e.g. myService
), use:
const consul = require('@sealsystems/consul');
consul.connect(...);
const client = await connectService({
service: 'myService',
path: '/job',
consul
}, {
name: 'hostname',
port: 3000
});
client.on('response', (response) => {
console.log(`Response status: ${response.statusCode}`);
});
client.write('Hello service!');
client.end();
The first parameter is an options
object that can contain the following properties:
| property | type | description |
|-----------|-----------------|-------------------------------------|
| service | required string | Name of the service to access |
| consul | required object | Initialized instance of node-consul |
| headers | optional object | Additional HTTP/HTTPS headers |
| method | optional string | HTTP/HTTPS method, default POST
|
| path | optional string | URL-path to access, default /
|
Here is an example of a more complete options
object:
const options = {
headers: {
'content-type': 'application/json'
},
method: 'POST',
path: '/url/path',
service: 'myService',
consul
};
Second parameter is the host name and port number. Example:
const host = {
name: 'hostname',
port: 3000
};
The return value client
contains a http.ClientRequest object for further use.
HTTP and HTTPS
The protocol used for a connection depends on the target (local or remote) and the value of the environment variable TLS_UNPROTECTED. The TLS certificates provided by @sealsystems/tlscert
will be used for HTTPS connections. It is not possible to override the chosen protocol.
Running the build
To build this module use roboter.
$ bot