Connection packages to connect to Cubic API nodes. Choose your target platform from the available branches.
npm install cubic-client
Platform | Install | Description |
---|---|---|
python | pip | For usage in Python. Might have to enable HTTP explicitly since Socket.io isn't that well maintained on python. |
const Client = require('cubic-client')
const client = new Client()
cubic.get('/foo').then(res => console.log(res.body)) // bar
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 |
namespace | '/' |
Socket.io namespace to connect to |
user_key | null |
User key obtained via Auth-Node registration |
user_secret | null |
User secret obtained via Auth-Node |
ignore_limiter | false |
Whether or not to disable the default rate limit adaptions. Disabling this only makes sense if you connect as a user who won't face rate limits. If you disable it anyway, expect all your requests to get blocked. |
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 |
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.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.
client.on(ev, fn)
Listens to specific Socket.io event, then runs the given function with the received data
Argument | Description | Default |
---|---|---|
ev | Event name. | None |
fn | Function to execute on event trigger | None |
client.emit(ev, data)
Emits event via Socket.io client to server
Argument | Description | Default |
---|---|---|
ev | Event name. | None |
data | Data to transmit. Can be any data type. | None |