Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/stomp-js/stompjs
Javascript and Typescript Stomp client for Web browsers and node.js apps
https://github.com/stomp-js/stompjs
messaging rabbitmq stomp stompclient stompjs websocket
Last synced: 7 days ago
JSON representation
Javascript and Typescript Stomp client for Web browsers and node.js apps
- Host: GitHub
- URL: https://github.com/stomp-js/stompjs
- Owner: stomp-js
- License: apache-2.0
- Created: 2018-05-25T12:08:54.000Z (over 6 years ago)
- Default Branch: develop
- Last Pushed: 2023-11-08T20:03:55.000Z (about 1 year ago)
- Last Synced: 2024-04-14T06:17:18.651Z (7 months ago)
- Topics: messaging, rabbitmq, stomp, stompclient, stompjs, websocket
- Language: TypeScript
- Homepage:
- Size: 4.36 MB
- Stars: 710
- Watchers: 16
- Forks: 79
- Open Issues: 45
-
Metadata Files:
- Readme: README.md
- Changelog: Change-log.md
- License: LICENSE
Awesome Lists containing this project
README
# STOMP.js
[![Firefox, Chrome](https://github.com/stomp-js/stompjs/actions/workflows/linux.yml/badge.svg?branch=develop)](https://github.com/stomp-js/stompjs/actions/workflows/linux.yml)
[![Safari, Edge](https://github.com/stomp-js/stompjs/actions/workflows/osx.yml/badge.svg?branch=develop)](https://github.com/stomp-js/stompjs/actions/workflows/osx.yml)
[![NodeJS Test](https://github.com/stomp-js/stompjs/actions/workflows/node-js.yml/badge.svg?branch=develop)](https://github.com/stomp-js/stompjs/actions/workflows/node-js.yml)
[![API docs refresh](https://github.com/stomp-js/stompjs/actions/workflows/docs-refresh.yml/badge.svg?branch=develop)](https://github.com/stomp-js/stompjs/actions/workflows/docs-refresh.yml)This library provides a STOMP over WebSocket client for Web browser and node.js applications.
Please visit https://stomp-js.github.io/ for guides, FAQs and API docs.
# Introduction
This library allows you to connect to a STOMP broker over WebSocket. This library
supports complete STOMP specifications including all current protocol variants. Most
popular messaging brokers support STOMP and STOMP over WebSockets out-of-the-box
or using plugins.## Features
- Simple API to interact with the Stomp protocol
- Support for v1.2, v1.1 and v1.0 of the Stomp protocol
- Support for fallback options in case of WebSocket unavailable
- Browser and Node.js support
- Option to use STOMP over TCP
- Binary payload support## Usage
### Browser
```html
{
"imports": {
"@stomp/stompjs": "https://ga.jspm.io/npm:@stomp/[email protected]/esm6/index.js"
}
}import { Client } from '@stomp/stompjs';
const client = new Client({
brokerURL: 'ws://localhost:15674/ws',
onConnect: () => {
client.subscribe('/topic/test01', message =>
console.log(`Received: ${message.body}`)
);
client.publish({ destination: '/topic/test01', body: 'First Message' });
},
});client.activate();
```
### NodeJS
```bash
$ npm install @stomp/stompjs ws
``````javascript
import { Client } from '@stomp/stompjs';import { WebSocket } from 'ws';
Object.assign(global, { WebSocket });const client = new Client({
brokerURL: 'ws://localhost:15674/ws',
onConnect: () => {
client.subscribe('/topic/test01', message =>
console.log(`Received: ${message.body}`)
);
client.publish({ destination: '/topic/test01', body: 'First Message' });
},
});client.activate();
```## Further information
The API documentation is hosted as GitHub pages for the StompJS family of libraries.
You may head straight to the https://stomp-js.github.io/api-docs/latest/This library comes with detailed usage instructions. Please find it at
[Usage instructions](https://stomp-js.github.io/guide/stompjs/using-stompjs-v5.html).
Check out other guides at https://stomp-js.github.io/.There is quite detailed API documentation,
you should start at https://stomp-js.github.io/api-docs/latest/classes/Client.html.## Upgrading
if you were using an older version of this library, you would need to make changes
to your code. Head to
[Upgrading](https://stomp-js.github.io/#upgrading).## Usage with RxJS
https://github.com/stomp-js/rx-stomp is based on this library and exposes the entire functionality
offered by this library as RxJS Observables.## TypeScript definitions
The npm package includes TypeScript definitions, so there is no need to install it separately.
## Change-log
Please visit [Change Log](Change-log.md).
## Contributing
If you want to understand the code, develop, or contribute. Please visit
[How to contribute](Contribute.md).## Authors
- [Jeff Mesnil](http://jmesnil.net/)
- [Jeff Lindsay](http://github.com/progrium)
- [Vanessa Williams](http://github.com/fridgebuzz)
- [Deepak Kumar](https://github.com/kum-deepak)
- [Astha Deep](https://github.com/astha183)
- [Dillon Sellars](https://github.com/dillon-sellars)
- [Jimi Charalampidis](https://github.com/jimic)
- [Raul](https://github.com/rulonder)
- [Dimitar Georgiev](https://github.com/iMitaka)
- [Genadi](https://github.com/genadis)
- [Bobohuochai](https://github.com/bobohuochai)
- [Sailai](https://github.com/sailai)## License
[License](LICENSE) - Apache-2.0