diff options
Diffstat (limited to 'openecomp-ui/src/nfvo-utils/WebSocketUtil.js')
-rw-r--r-- | openecomp-ui/src/nfvo-utils/WebSocketUtil.js | 65 |
1 files changed, 37 insertions, 28 deletions
diff --git a/openecomp-ui/src/nfvo-utils/WebSocketUtil.js b/openecomp-ui/src/nfvo-utils/WebSocketUtil.js index c9dd10f1af..69f44d4da5 100644 --- a/openecomp-ui/src/nfvo-utils/WebSocketUtil.js +++ b/openecomp-ui/src/nfvo-utils/WebSocketUtil.js @@ -16,41 +16,50 @@ import store from 'sdc-app/AppStore.js'; import Configuration from 'sdc-app/config/Configuration.js'; -import {actionTypes} from 'sdc-app/onboarding/userNotifications/UserNotificationsConstants.js'; +import { actionTypes } from 'sdc-app/onboarding/userNotifications/UserNotificationsConstants.js'; - -export const websocketUrl = 'ws://' + window.location.hostname + ':' + Configuration.get('websocketPort') - + '/' + Configuration.get('websocketPath'); +export const websocketUrl = + 'ws://' + + window.location.hostname + + ':' + + Configuration.get('websocketPort') + + '/' + + Configuration.get('websocketPath'); /*** * Websocket is treated like a singleton. only need one for the application. */ var websocket; - export default { + open(url, { lastScanned }) { + if ( + websocket === undefined || + websocket.readyState === websocket.CLOSED + ) { + websocket = new WebSocket( + `${url}?LAST_DELIVERED_EVENT_ID=${lastScanned}` + ); + websocket.onmessage = event => + store.dispatch({ + type: actionTypes.NOTIFICATION, + data: JSON.parse(event.data) + }); + websocket.onclose = event => { + if (event.code && event.code === 1001) { + // - Idle Timeout + const { lastScanned } = store.getState().notifications; + console.log('Reconnecting to Websocket'); + this.open(websocketUrl, { lastScanned }); + } + }; + websocket.onerror = event => console.log(event); + } + }, - open(url, {lastScanned}) { - if (websocket === undefined || websocket.readyState === websocket.CLOSED) { - websocket = new WebSocket(`${url}?LAST_DELIVERED_EVENT_ID=${lastScanned}`); - websocket.onmessage = event => store.dispatch({ - type: actionTypes.NOTIFICATION, - data: JSON.parse(event.data) - }); - websocket.onclose = event => { - if(event.code && event.code === 1001) { // - Idle Timeout - const {lastScanned} = store.getState().notifications; - console.log('Reconnecting to Websocket'); - this.open(websocketUrl, {lastScanned}); - } - }; - websocket.onerror = event => console.log(event); - } - }, - - close() { - if (websocket !== undefined) { - websocket.close(); - } - } + close() { + if (websocket !== undefined) { + websocket.close(); + } + } }; |