diff --git a/app/adapters/_baseAdapter.js b/app/adapters/_baseAdapter.js index 6b4759a3f40bf44946ba7fc5f8d497a4fde97faf..4ea1e03d66d542866a2544dbe6eb7c76cc3e32cc 100644 --- a/app/adapters/_baseAdapter.js +++ b/app/adapters/_baseAdapter.js @@ -1,9 +1,10 @@ import Ember from 'ember'; import RESTAdapter from 'ember-data/adapters/rest'; import FixtureAdapter from 'ember-data-fixture-adapter'; +import ENV from 'iobserve-ui/config/environment'; export default RESTAdapter.extend({ - host: 'http://localhost:8080', // TODO: replace with live url + host: ENV.APP.API_ROOT, namespace: 'v1', session: Ember.inject.service() }); \ No newline at end of file diff --git a/app/services/changelog-stream.js b/app/services/changelog-stream.js index ec511b9c954f88a905908932867e2a80f7c9a417..52849dacbf9ea72a9430e45df467aad8f2911e8d 100644 --- a/app/services/changelog-stream.js +++ b/app/services/changelog-stream.js @@ -1,4 +1,5 @@ import Ember from 'ember'; +import ENV from 'iobserve-ui/config/environment'; export default Ember.Service.extend({ changelogQueue: Ember.inject.service(), @@ -11,7 +12,7 @@ export default Ember.Service.extend({ this.set('shouldClose', false); this.debug('setting up websocket', systemId); - const socket = new WebSocket(`ws://localhost:8080/v1/changelogstream/${systemId}`); // TODO: from environment! + const socket = new WebSocket(`${ENV.APP.WEBSOCKET_ROOT}/v1/changelogstream/${systemId}`); this.set('socket', socket); socket.onopen = this.get('events.onOpen').bind(this); @@ -19,15 +20,17 @@ export default Ember.Service.extend({ socket.onmessage = this.get('events.onMessage').bind(this); // automatically reconnect - socket.onclose = () => { - if(!this.get('shouldClose')) { - this.debug('connection lost, reconnecting!'); - this.set('reconnectionTimeout', setTimeout(() => { - this.connect(systemId); - this.set('reconnectionTimeout', null); - }, 500)); - } - }; + if(ENV.APP.WEBSOCKET_RECONNECT) { + socket.onclose = () => { + if(!this.get('shouldClose')) { + this.debug('connection lost, reconnecting!'); + this.set('reconnectionTimeout', setTimeout(() => { + this.connect(systemId); + this.set('reconnectionTimeout', null); + }, 500)); + } + }; + } // close socket connection when the user closes the window/tab or nagivates to a different website window.onbeforeunload = this.get('disconnect').bind(this); diff --git a/config/environment.js b/config/environment.js index f4cbd28c0aceeb86be5f89d1eac0908afa6eff6a..6e5811596160f1754ae583622fd609fd211dc5ff 100644 --- a/config/environment.js +++ b/config/environment.js @@ -17,6 +17,9 @@ module.exports = function(environment) { APP: { // Here you can pass flags/options to your application instance // when it is created + API_ROOT: 'http://iobserve-api.herokuapp.com', + WEBSOCKET_ROOT: 'ws://iobserve-api.herokuapp.com', + WEBSOCKET_RECONNECT: false // not running on heroku/jetty-runner } }; @@ -27,6 +30,10 @@ module.exports = function(environment) { // ENV.APP.LOG_TRANSITIONS = true; // ENV.APP.LOG_TRANSITIONS_INTERNAL = true; // ENV.APP.LOG_VIEW_LOOKUPS = true; + ENV.APP.API_ROOT = 'http://localhost:8080'; + ENV.APP.WEBSOCKET_ROOT = 'ws://localhost:8080'; + ENV.APP.WEBSOCKET_RECONNECT = true; + } if (environment === 'test') {