Browse Source

Handle WS errors.

pull/1247/head
Igor Kulikov 8 years ago
parent
commit
289a5f5feb
  1. 16
      ui/src/app/api/telemetry-websocket.service.js
  2. 4
      ui/src/app/common/types.constant.js

16
ui/src/app/api/telemetry-websocket.service.js

@ -26,7 +26,7 @@ const WS_IDLE_TIMEOUT = 90000;
const MAX_PUBLISH_COMMANDS = 10; const MAX_PUBLISH_COMMANDS = 10;
/*@ngInject*/ /*@ngInject*/
function TelemetryWebsocketService($rootScope, $websocket, $timeout, $window, types, userService) { function TelemetryWebsocketService($rootScope, $websocket, $timeout, $window, toast, types, userService) {
var isOpening = false, var isOpening = false,
isOpened = false, isOpened = false,
@ -162,7 +162,9 @@ function TelemetryWebsocketService($rootScope, $websocket, $timeout, $window, ty
function onMessage (message) { function onMessage (message) {
if (message.data) { if (message.data) {
var data = angular.fromJson(message.data); var data = angular.fromJson(message.data);
if (data.subscriptionId) { if (data.errorCode) {
showWsError(data.errorCode, data.errorMsg);
} else if (data.subscriptionId) {
var subscriber = subscribers[data.subscriptionId]; var subscriber = subscribers[data.subscriptionId];
if (subscriber && data) { if (subscriber && data) {
var keys = fetchKeys(data.subscriptionId); var keys = fetchKeys(data.subscriptionId);
@ -182,6 +184,16 @@ function TelemetryWebsocketService($rootScope, $websocket, $timeout, $window, ty
checkToClose(); checkToClose();
} }
function showWsError(errorCode, errorMsg) {
var message = 'WebSocket Error: ';
if (errorMsg) {
message += errorMsg;
} else {
message += "error code - " + errorCode + ".";
}
toast.showError(message);
}
function fetchKeys(subscriptionId) { function fetchKeys(subscriptionId) {
var command = commands[subscriptionId]; var command = commands[subscriptionId];
if (command && command.keys && command.keys.length > 0) { if (command && command.keys && command.keys.length > 0) {

4
ui/src/app/common/types.constant.js

@ -23,7 +23,9 @@ export default angular.module('thingsboard.types', [])
permissionDenied: 20, permissionDenied: 20,
invalidArguments: 30, invalidArguments: 30,
badRequestParams: 31, badRequestParams: 31,
itemNotFound: 32 itemNotFound: 32,
tooManyRequests: 33,
tooManyUpdates: 34
}, },
entryPoints: { entryPoints: {
login: "/api/auth/login", login: "/api/auth/login",

Loading…
Cancel
Save