blitz-js-query

PSA: moved into cubic-js/cubic as monorepo

Showing:

Popularity

Downloads/wk

53

GitHub Stars

1

Maintenance

Last Commit

3yrs ago

Contributors

4

Package

Dependencies

2

Size (min+gzip)

37.6KB

License

MIT

Type Definitions

Tree-Shakeable

No?

Categories

Deprecated!
Blitz-js has been refactored to cubic. Use

Readme

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


Other Supported Platforms

PlatformInstallDescription
pythonpipFor usage in Python. Might have to enable HTTP explicitly since Socket.io isn't that well maintained on python.

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})
KeyDefaultDescription
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_keynullUser key obtained via Auth-Node registration
user_secretnullUser secret obtained via Auth-Node
ignore_limiterfalseWhether 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.


API

RESTful methods

client.get(url)

Sends a GET request to the API-Node

ArgumentDescriptionDefault
urlURL to request, without domain. e.g. /foo.None

client.post(url, body)

Sends a POST request to the API-Node

ArgumentDescriptionDefault
urlURL to request, without domain. e.g. /foo.None
bodyData to send to endpoint. Can be any data type.None

client.put(url, body)

Sends a PUT request to the API-Node

ArgumentDescriptionDefault
urlURL to request, without domain. e.g. /foo.None
bodyData to send to endpoint. Can be any data type.None

client.patch(url, body)

Sends a PATCH request to the API-Node

ArgumentDescriptionDefault
urlURL to request, without domain. e.g. /foo.None
bodyData to send to endpoint. Can be any data type.None

client.delete(url, body)

Sends a DELETE request to the API-Node

ArgumentDescriptionDefault
urlURL to request, without domain. e.g. /foo.None
bodyData to send to endpoint. Can be any data type.None

Pub/Sub

client.subscribe(endpoint, fn)

Subscribe to updates on a specific endpoint.

ArgumentDescriptionDefault
endpointURL to listen for updates on, without domain. e.g. '/foo'None
fnFunction to run when updates are received. Takes the new data as argument.None

Authentication

client.login(user, secret)

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

ArgumentDescriptionDefault
userUser id, equal to user_key when registering.None
secretUser password, equal to user_secret when registering.None

client.setRefreshToken(token)

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

ArgumentDescriptionDefault
tokenrefresh_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.

ArgumentDescriptionDefault
tokenaccess_token to use.None

client.getRefreshToken()

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


Socket.io

client.on(ev, fn)

Listens to specific Socket.io event, then runs the given function with the received data

ArgumentDescriptionDefault
evEvent name.None
fnFunction to execute on event triggerNone

client.emit(ev, data)

Emits event via Socket.io client to server

ArgumentDescriptionDefault
evEvent name.None
dataData to transmit. Can be any data type.None

License

MIT

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100