migme-ferry
Version:
Ferry transports packets to and from fusion/fission
65 lines (48 loc) • 2.38 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
var _isomorphicFetch = require('isomorphic-fetch');
var _isomorphicFetch2 = _interopRequireDefault(_isomorphicFetch);
var _ferryEvent = require('../events/ferry-event');
var _ferryEvent2 = _interopRequireDefault(_ferryEvent);
var _config = require('../config/config');
var _config2 = _interopRequireDefault(_config);
var _dispatcher = require('../events/dispatcher');
var _dispatcher2 = _interopRequireDefault(_dispatcher);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
var Ajax = function () {
function Ajax(uri) {
_classCallCheck(this, Ajax);
this._uri = uri;
}
_createClass(Ajax, [{
key: 'connect',
value: function connect() {
_dispatcher2.default.emit(_ferryEvent2.default.CONNECTED);
}
}, {
key: 'send',
value: function send(packet) {
(0, _isomorphicFetch2.default)(this._uri + '/?' + Date.now(), {
method: 'post',
headers: {
'Content-Type': 'application/json',
'X-Mig33-JSON-Version': '2',
Authorization: 'Bearer ' + _config2.default.access_token
},
body: JSON.stringify(packet.toJSON())
}).then(function (res) {
_dispatcher2.default.emit(_ferryEvent2.default.PACKET_SENT, packet.toJSON());
_dispatcher2.default.emit(_ferryEvent2.default.PACKET_RECEIVED, res);
}).catch(function () {
_dispatcher2.default.emit(_ferryEvent2.default.PACKET_FAILED, packet);
});
}
}]);
return Ajax;
}();
exports.default = Ajax;
module.exports = exports['default'];