cubic-client

3.6.5 • Public • Published

cubic-client

Connection packages to connect to Cubic API nodes. Choose your target platform from the available branches.

npm build dependencies



Installation

npm install cubic-client


Usage

const Client = require('cubic-client')
const client = new Client()

cubic.get('/foo').then(res => console.log(res.body)) // bar

Configuration

const Client = require('cubic-client')
const client = new Client({key: value})
Key Default Description
api_url 'http://localhost:3003/' URL of cubic API-Node to connect to
auth_url 'http://localhost:3030/' URL of cubic Auth-Node to authenticate with
user_key null User key obtained via Auth-Node registration
user_secret null User secret obtained via Auth-Node


API

client.awaitConnection()

Returns a promise that resolves once the client is fully connected.


client.isConnected()

Returns a boolean wether the connection is up or not.


RESTful methods

client.query(verb, query)

Sends a GET request to the API-Node

Argument Description Default
verb RESTful verb. e.g. GET. None
query Request query, either string or body object. None

client.get(url)

Sends a GET request to the API-Node

Argument Description Default
url URL to request, without domain. e.g. /foo. None

client.post(url, body)

Sends a POST request to the API-Node

Argument Description Default
url URL to request, without domain. e.g. /foo. None
body Data to send to endpoint. Can be any data type. None

client.put(url, body)

Sends a PUT request to the API-Node

Argument Description Default
url URL to request, without domain. e.g. /foo. None
body Data to send to endpoint. Can be any data type. None

client.patch(url, body)

Sends a PATCH request to the API-Node

Argument Description Default
url URL to request, without domain. e.g. /foo. None
body Data to send to endpoint. Can be any data type. None

client.delete(url, body)

Sends a DELETE request to the API-Node

Argument Description Default
url URL to request, without domain. e.g. /foo. None
body Data to send to endpoint. Can be any data type. None

Pub/Sub

client.subscribe(endpoint, fn)

Subscribe to updates on a specific endpoint.

Argument Description Default
endpoint URL to listen for updates on, without domain. e.g. '/foo' None
fn Function to run when updates are received. Takes the new data as argument. None

client.unsubscribe(endpoint)

Unsubscribe to updates on a specific endpoint.

Argument Description Default
endpoint URL that you are currently subscribed to, without domain. e.g. '/foo' None

Authentication

client.login(user, secret)

Re-authorizes as a specific user at runtime. Usually users should be logged in through the constructor options.

Argument Description Default
user User id, equal to user_key when registering. None
secret User password, equal to user_secret when registering. None

client.setRefreshToken(token)

Manually set the refresh token. This way user credentials needn't be exposed.

Argument Description Default
token refresh_token to use. None

client.getRefreshToken()

Retrieve current refresh token. Will await any existing authentication process. Useful if the initial login can be done through user/pass but the refresh token needs to be stored for subsequent logins.


client.setAccessToken(token)

Manually set the access token. This will expire on the next refresh.

Argument Description Default
token access_token to use. None

client.getRefreshToken()

Retrieve current access token. Will await any existing authentication process.


License

MIT

Readme

Keywords

none

Package Sidebar

Install

npm i cubic-client

Weekly Downloads

9

Version

3.6.5

License

MIT

Unpacked Size

67.3 kB

Total Files

18

Last publish

Collaborators

  • kaptard
  • nexus-ci