💬 Node.js client to connect to NexusHub.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore
.npmignore
LICENSE.md
README.md
banner.svg
index.js
package-lock.json
package.json

README.md

Nexus Stats API Package

Nodejs package to connect to api.nexushub.co, based on cubic-client.


Installation

npm i nexushub-client

Usage

const Nexus = require('nexushub-client')
const nexus = new Nexus({
  // ONLY use this if you want to test new features
  // auth_url: https://auth.staging.nexushub.co 
  // api_url: https://api.staging.nexushub.co
})

const items = await nexus.get('/warframe/v1/items') // Get a list of all items.

API

For a list of all API endpoints, check out the official documentation.


Configuration

const Nexus = require('nexus-stats-api')
const nexus = new Nexus({ key: value })
Key Default Description
namespace '/' Socket.io namespace to connect to
user_key null (optional) User key obtained via Auth-Node registration
user_secret null (optional) User secret obtained via Auth-Node

RESTful methods

nexus.get(url)

Sends a GET request to the API-Node

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

nexus.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

nexus.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

nexus.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

nexus.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

nexus.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

Authentication

nexus.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

nexus.setRefreshToken(token)

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

Argument Description Default
token refresh_token to use. None

nexus.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.


nexus.setAccessToken(token)

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

Argument Description Default
token access_token to use. None

nexus.getRefreshToken()

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

License

MIT