@ceylonitsolutions/pushstream-js
v2.0.0
Published
PushStream JavaScript SDK for real-time messaging
Maintainers
Readme
PushStream JavaScript SDK (sdks Edition)
JavaScript SDK for PushStream realtime connections and server-side event publishing.
Source
- File:
sdks/pushstream-js/pushstream-sdk.js - Class:
PushStream
Compatibility
This SDK matches current PushStream protocol:
- WebSocket connect with
app_id+app_key - Channel subscribe via
pusher:subscribe - Event publish endpoint:
POST /api/apps/{app_id}/events - Publish auth header:
Authorization: {app_id}:{signature} - Publish
datafield is sent as JSON string
Installation
This sdks version is distributed as source file.
Browser
<script src="/path/to/pushstream-sdk.js"></script>Node.js
const PushStream = require('./pushstream-sdk');Quick Start
const client = new PushStream('APP_KEY', {
appId: 'APP_ID',
wsUrl: 'wss://ws.pushstream.ceylonitsolutions.online',
apiUrl: 'https://api.pushstream.ceylonitsolutions.online'
});
await client.connect();
const channel = client.subscribe('public-updates');
channel.bind('announcement', (payload) => {
console.log(payload);
});Private/Presence Channel Notes
This SDK sends raw subscribe payload. For protected channels (private- / presence-), you must provide valid channel auth according to server rules.
Recommended approach: use canonical SDK under sdk/ for built-in auth flow support.
Publish Events
await client.publish(
'APP_ID',
'APP_SECRET',
'orders',
'order.created',
{ id: 101 }
);Core API
new PushStream(appKey, options)
Options:
appId(required for WebSocket connect)wsUrl(defaultwss://ws.pushstream.ceylonitsolutions.online)apiUrl(defaulthttps://api.pushstream.ceylonitsolutions.online)
Methods
connect()subscribe(channelName)unsubscribe(channelName)disconnect()publish(appId, appSecret, channel, event, data)
Reconnect Behavior
- Automatic exponential backoff reconnect
- Maximum attempts: 5
Security Guidance
- Keep
APP_SECRETin trusted backend environments only. - Use HTTPS/WSS in production.
- Rotate secrets if compromised.
Migration Recommendation
For active maintenance and better channel auth support, migrate to:
sdk/pushstream-js/README.md
