seal-connect-service-cl v1.1.0
seal-connect-service
Connects to a service with given host name and port number.
Installation
$ npm install seal-connect-serviceQuick start
First you need to add a reference to seal-connect-service within your application.
const connectService = require('seal-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:
connectService({
service: 'myService',
path: '/job'
}, {
name: 'hostname',
port: 3000
}, (err, client) => {
if (!err) {
throw new Error('An error occurred while connecting to the service.');
}
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 |
| 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'
};Second parameter is the host name and port number. Example:
const host = {
name: 'hostname',
port: 3000
};The callback function given as the third parameter will be called when a connection to the service could be established. In this case, the err parameter is null and the req parameter contains a http.ClientRequest object for further use. Otherwise, the err parameter contains an Error object with further details about the problem.
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 seal-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.
$ bot8 years ago