[](https://www.npmjs.com/package/ng-stomp)
[](#bower)
[](https://travis-ci.org/beevelop/ng-stomp)
[](https://codeclimate.com/github/beevelop/ng-stomp)
[](https://gemnasium.com/beevelop/ng-stomp)
[](http://standardjs.com/)
[](https://beevelop.com)
# ngStomp
> [STOMP](http://jmesnil.net/stomp-websocket/doc/) promised for [AngularJS](https://angularjs.org)
## Installation
### Install via Bower:
```bash
bower install --save ng-stomp
```
#### Add standalone version (dependencies included) to your HTML file
```html
```
#### Or add SockJS + STOMP + (minified) ngStomp individually:
```html
```
----
### Install via npm:
```bash
npm install --save ng-stomp
```
#### Add standalone version (dependencies included) to your HTML file
```html
```
#### Or add SockJS + STOMP + (minified) Stompie individually:
```html
```
----
## Usage
Inject it in your controller:
```js
angular
// Declare ngStomp as a dependency for you module
.module('app', ['ngStomp'])
// use $stomp in your controllers, services, directives,...
.controller('Ctrl', function ($stomp, $scope, $log) {
$stomp.setDebug(function (args) {
$log.debug(args)
})
$stomp
.connect('/endpoint', connectHeaders)
// frame = CONNECTED headers
.then(function (frame) {
var subscription = $stomp.subscribe('/dest', function (payload, headers, res) {
$scope.payload = payload
}, {
'headers': 'are awesome'
})
// Unsubscribe
subscription.unsubscribe()
// Send message
$stomp.send('/dest', {
message: 'body'
}, {
priority: 9,
custom: 42 // Custom Headers
})
// Disconnect
$stomp.disconnect().then(function () {
$log.info('disconnected')
})
})
})
```
## API-Docs (TBD)
- setDebug(callback)
- connect(endpoint, headers)
- disconnect
- subscribe(destination, callback, headers)
- on(destination, callback, headers)
- unsubscribe(subscription)
- off(subscription)
- send(destination, body, headers)