remote-config-client
v1.2.1
Published
Implements a Remote Config Client for NodeJS, with cache support
Readme
Remote Config Client
Implements a Remote Config Client for NodeJS, with cache support
Installation
Using npm:
npm install --save remote-config-clientUsage
To use this client, instance it as
const remoteConfigClient = require('remote-config-client-node')({
application: 'APPLICATION-NAME',
cache: <ioredis or node-redis instance>,
environment: 'ENV',
host: 'http://HOSTNAME',
httpClient: <object with functions>
password: 'REMOTE-CONFIG-HTTP-BASIC-PASSWORD',
username: 'REMOTE-CONFIG-HTTP-BASIC-USERNAME'
})Where:
application: Application (hello-world, chubaca...)cache: Cache instance to be used (supported: ioredis and node-redis) (optional)environment: Enviroment (test, int, staging, production...)host: Remote config host url (http://remote-config.internal)httpClient: Object which implements a custom http client (optional)password: HTTP Basic Auth Passwordusername: HTTP Basic Auth Username
Available methods
get (string clientId, string config = null) : object
Returns client's config. If a value is passed on config, it will return only this value.
del (string clientId) : integer
Purges cache data for the specified client. Returns the number of deleted keys.
getSettings () : object
Returns remote-config settings object (passed when it was instantiated)
Custom HTTP Client
Internally, this lib uses axios to execute HTTP requests. If you want to implement a custom http client yourself, create one that respect the same method signatures and outputs as axios.
For instance, only axios.get () is used. It should use the following signature:
- Method:
get(url : string, { auth: { username : string, password : string } } : object) - Output:
{ status : integer, data : object }
For more info, check axios documentation.
