diff --git a/script/_nginx_configure b/script/_nginx_configure index d77ce9f3526..5935d066a2d 100644 --- a/script/_nginx_configure +++ b/script/_nginx_configure @@ -31,15 +31,15 @@ nginx_configure() { if command -v nginx; then - top_dir=$(pwd) + top_dir="$(pwd)" nginx_conf_file=$(nginx -V 2>&1 | grep -o "\-\-conf-path=\(.*conf\)" | cut -d "=" -f2) - sudo rm $nginx_conf_file + sudo rm ${nginx_conf_file} - sudo cp $top_dir/etc/rest/nginx.conf $nginx_conf_file + sudo cp "${top_dir}"/etc/rest/nginx.conf "${nginx_conf_file}" - sudo sed -i.bak "s:to be set:$top_dir/src/rest/frontend:" $nginx_conf_file + sudo sed -i.bak "s:to be set:"${top_dir}"/src/rest/frontend:" "${nginx_conf_file}" else diff --git a/src/rest/frontend/res/js/app.js b/src/rest/frontend/res/js/app.js index 258898e8db2..118b0f2f946 100644 --- a/src/rest/frontend/res/js/app.js +++ b/src/rest/frontend/res/js/app.js @@ -121,20 +121,28 @@ $scope.isLoading = false; - $scope.showScanAlert = function(ev,status) { + $scope.showScanAlert = function(ev,response) { var text; - if (status == 500) + if (response.status == 200) { - text = ' Come Across a internal error when scan available network, please try to fix this'; + text = 'No available thread network now' } - else if (status == 200) - { - text= ' No available Thread networks now'; - } - else - { - text= 'An unexpected error'; + else + { + if ('ErrorDescription' in response.data) + { + text = response.data.ErrorDescription; + } + else if ('ErorMessage' in response.data) + { + text= response.data.ErorMessage; + } + else + { + text = 'Undefined response'; + } } + $mdDialog.show( $mdDialog.alert() .parent(angular.element(document.querySelector('#popupContainer'))) @@ -145,15 +153,19 @@ .ok('Okay') ); }; - $scope.showStatusAlert = function(status) { + $scope.showStatusAlert = function(ev,response) { var text; - if (status == 500) + if ('ErrorDescription' in response.data) + { + text = response.data.ErrorDescription; + } + else if ('ErrorMessage' in response.data) { - text = 'Come Across a internal error when get status, please try to fix this'; + text= response.data.ErrorMessage ; } else { - text= 'Current node is detached or disable, no status information available'; + text = 'Undefined response'; } $mdDialog.show( $mdDialog.alert() @@ -174,46 +186,60 @@ $scope.menu[index].show = true; if (index == 1) { $scope.isLoading = true; - $http.get('http://' + $scope.ipAddr + '/networks').then(function(response) { - $scope.isLoading = false; - console.log(response.status); - if (response.status == 200 && response.data.length > 0) + $http.get('/v1/networks').then( + function successCallback(response) { - $scope.networksInfo = response.data; - } - else + $scope.isLoading = false; + if (response.status == 200 && response.data.length > 0) + { + $scope.networksInfo = response.data; + } + else + { + $scope.showScanAlert(event,response); + } + }, + function errorCallback(response) { - $scope.showScanAlert(ev,response.status); - } + $scope.isLoading = false; + $scope.showScanAlert(event,response); - }); + } + ); } if (index == 3) { - $http.get('http://' + $scope.ipAddr + '/node').then(function(responseNode) { - - if (responseNode.status == 200){ - var NodeInfo = responseNode.data; - $scope.status = []; - for (var i = 0; i < Object.keys(NodeInfo).length; i++) { - if (Object.keys(NodeInfo)[i] == 'Network:NodeType' || Object.keys(NodeInfo)[i] == 'NCP:State' ) - { - NodeInfo[Object.keys(NodeInfo)[i]] = $scope.RoleInt2String[NodeInfo[Object.keys(NodeInfo)[i]]]; - } - $scope.status.push({ - name: Object.keys(NodeInfo)[i], - value: NodeInfo[Object.keys(NodeInfo)[i]], - icon: 'res/img/icon-info.png', - }); + $http.get('/v1/node').then( + function successCallback(response) + { + if (response.status == 200){ + var NodeInfo = response.data; + $scope.status = []; + for (var i = 0; i < Object.keys(NodeInfo).length; i++) { + if (Object.keys(NodeInfo)[i] == 'Network:NodeType' || Object.keys(NodeInfo)[i] == 'NCP:State' ) + { + NodeInfo[Object.keys(NodeInfo)[i]] = $scope.RoleInt2String[NodeInfo[Object.keys(NodeInfo)[i]]]; + } + $scope.status.push + ({ + name: Object.keys(NodeInfo)[i], + value: NodeInfo[Object.keys(NodeInfo)[i]], + icon: 'res/img/icon-info.png', + }); } + } + else { + $scope.showStatusAlert(event,response); + } + }, + function errorCallback(response){ + + $scope.showStatusAlert(event,response); + } - else - { - showStatusAlert(responseNode.status); - } - }); + ); } if (index == 6) { $scope.dataInit(); @@ -226,7 +252,7 @@ sharedProperties.setNetworkInfo(item); $scope.index = index; $mdDialog.show({ - locals:{ipAddr: $scope.ipAddr}, + controller: DialogController, templateUrl: 'join.dialog.html', parent: angular.element(document.body), @@ -236,8 +262,8 @@ }); }; - function DialogController($scope, $mdDialog, $http, $interval, sharedProperties,ipAddr) { - $scope.ipAddr = ipAddr; + function DialogController($scope, $mdDialog, $http, $interval, sharedProperties) { + var index = sharedProperties.getIndex(); var networkInfo = sharedProperties.getNetworkInfo(); $scope.isDisplay = false; @@ -247,20 +273,29 @@ defaultRoute: true, }; - $scope.showAlert = function(ev, status) { + $scope.showAlert = function(ev, response) { + var text; - if (status == 200) - { - text = 'successful'; - } - else if (status == 400) + if (response.status == 200) { - text = 'failed because some parameters are not valid'; + text = 'Successful' } - else - { - text = 'failed because of network internal faulure'; + else + { + if ('ErrorDescription' in response.data) + { + text = response.data.ErrorDescription; + } + else if ('ErorMessage' in response.data) + { + text= response.data.ErorMessage; + } + else + { + text = 'Failed bacause of Undefined response'; + } } + $mdDialog.show( $mdDialog.alert() .parent(angular.element(document.querySelector('#popupContainer'))) @@ -295,17 +330,23 @@ }; var httpRequest = $http({ method: 'PUT', - url: 'http://' + $scope.ipAddr + '/networks/current', + url: '/v1/networks/current', data: data, }); - httpRequest.then(function successCallback(response) { + httpRequest.then( + function successCallback(response) { - if (response.status == 200) { - $mdDialog.hide(); + if (response.status == 200) { + $mdDialog.hide(); + } + $scope.isDisplay = false; + $scope.showAlert(event, response); + }, + function errorCallback(response){ + $scope.isDisplay = false; + $scope.showAlert(event, response); } - $scope.isDisplay = false; - $scope.showAlert(event, response.status); - }); + ); }; $scope.cancel = function() { @@ -344,36 +385,51 @@ $scope.isForming = true; var httpRequest = $http({ method: 'POST', - url: 'http://' + $scope.ipAddr + '/networks', + url: '/v1/networks', data: data, }); - httpRequest.then(function successCallback(response) { - $scope.res = response.data.result; - if (response.status == 200) { - $mdDialog.hide(); + httpRequest.then( + function successCallback(response) { + $scope.res = response.data.result; + if (response.status == 200) { + $mdDialog.hide(); + } + $scope.isForming = false; + $scope.showAlert(event, 'FORM', response); + }, + function errorCallback(response){ + $scope.isForming = false; + $scope.showAlert(event, 'FORM', response); } - $scope.isForming = false; - $scope.showAlert(event, 'FORM', response.status); - }); + + + ); }, function() { $mdDialog.cancel(); }); }; - $scope.showAlert = function(ev, operation, status) { + $scope.showAlert = function(ev, operation, response) { var text; - if (status == 200) + if (response.status == 200) { - text = 'successful'; + text = 'Successful'; } - else if (status == 400) + else { - text = 'failed because some parameters are not valid'; - } - else - { - text = 'failed because of network internal faulure'; + if ('ErrorDescription' in response.data) + { + text = response.data.ErrorDescription; + } + else if ('ErorMessage' in response.data) + { + text= response.data.ErorMessage; + } + else + { + text = 'Failed bacause of Undefined response'; + } } $mdDialog.show( @@ -406,17 +462,17 @@ }; var httpRequest = $http({ method: 'POST', - url: 'http://' + $scope.ipAddr + '/networks/current/prefix', + url: '/v1/networks/current/prefix', data: data, }); httpRequest.then(function successCallback(response) { - $scope.showAlert(event, 'Add', response.status); + $scope.showAlert(event, 'Add', response); } , function errorCallback(response){ - $scope.showAlert(event, 'Add', response.status); + $scope.showAlert(event, 'Add', response); }); }, function() { @@ -438,14 +494,14 @@ }; var httpRequest = $http({ method: 'DELETE', - url: 'http://' + $scope.ipAddr + '/networks/current/prefix', + url: '/v1/networks/current/prefix', data: data, }); httpRequest.then(function successCallback(response) { - $scope.showAlert(event, 'Delete', response.status); + $scope.showAlert(event, 'Delete', response); }, function errorCallback(response){ - $scope.showAlert(event, 'Delete', response.status); + $scope.showAlert(event, 'Delete', response); }); }, function() { @@ -460,25 +516,24 @@ }; var httpRequest = $http({ method: 'POST', - url: 'http://' + $scope.ipAddr + '/networks/current/commission', + url: '/v1/networks/current/commission', data: data, }); ev.target.disabled = true; httpRequest.then(function successCallback(response) { - $scope.showAlert(event, 'Commission', response.status); + $scope.showAlert(event, 'Commission', response); ev.target.disabled = false; }, function errorCallback(response){ - $scope.showAlert(event, 'Commission', response.status); + $scope.showAlert(event, 'Commission', response); }); }; - $scope.restServerPort = '8081'; - $scope.ipAddr = window.location.hostname + ':' + $scope.restServerPort; - + + // tooltipbasic information line $scope.basicInfo = { 'NetworkName' : 'Unknown', @@ -511,28 +566,22 @@ } $scope.dataInit = function() { - $http.get('http://' + $scope.ipAddr + '/node/network-name').then(function(response) + $http.get('/v1/node/network-name').then(function(response) { $scope.basicInfo.NetworkName = response.data; }); - $http.get('http://' + $scope.ipAddr + '/node/rloc16').then(function(response) + $http.get('/v1/node/rloc16').then(function(response) { $scope.basicInfo.Rloc16 = response.data; $scope.basicInfo.Rloc16 = $scope.intToHexString($scope.basicInfo.Rloc16,4); }); - $http.get('http://' + $scope.ipAddr + '/node/leader-data').then(function(response) + $http.get('/v1/node/leader-data').then(function(response) { $scope.basicInfo.LeaderData = response.data; $scope.basicInfo.LeaderData.LeaderRouterId = '0x' + $scope.intToHexString($scope.basicInfo.LeaderData.LeaderRouterId,2); }); - // $http.get('http://' + $scope.ipAddr + '/node').then(function(response) { - - // $scope.basicInfo = response.data; - - // $scope.basicInfo.Rloc16 = $scope.intToHexString($scope.basicInfo.Rloc16,4); - // $scope.basicInfo.LeaderData.LeaderRouterId = '0x' + $scope.intToHexString($scope.basicInfo.LeaderData.LeaderRouterId,2); - // }); + } $scope.isObject = function(v) { return v.constructor === Object; @@ -568,11 +617,23 @@ 'nodes': [], 'links': [] }; - $http.get('http://' + $scope.ipAddr + '/diagnostics').then(function(response) { + $http.get('/v1/diagnostics').then(function successCallback(response) { + if (response.status == 200 && response.data.length > 0) + { + $scope.topology(response); + } + + + } + + ) + } + + $scope.topology = function(response){ + + $scope.networksDiagInfo = response.data; - $scope.networksDiagInfo = response.data; - console.log(response.data); for (var x of $scope.networksDiagInfo){ console.log(x); @@ -671,7 +732,7 @@ } $scope.drawGraph(); - }) + } diff --git a/src/rest/resource.cpp b/src/rest/resource.cpp index 2121c41563a..243467936bd 100644 --- a/src/rest/resource.cpp +++ b/src/rest/resource.cpp @@ -34,20 +34,20 @@ #define OT_PSKC_MAX_LENGTH 16 #define OT_EXTENDED_PANID_LENGTH 8 -#define OT_DIAGNOETIC_PATH "/diagnostics" -#define OT_NODE_PATH "/node" -#define OT_RLOC_PATH "/node/rloc" -#define OT_RLOC16_PATH "/node/rloc16" -#define OT_EXTADDRESS_PATH "/node/ext-address" -#define OT_STATE_PATH "/node/state" -#define OT_NETWORKNAME_PATH "/node/network-name" -#define OT_LEADERDATA_PATH "/node/leader-data" -#define OT_NUMOFROUTER_PATH "/node/num-of-router" -#define OT_EXTPANID_PATH "/node/ext-panid" -#define OT_NETWORK_PATH "/networks" -#define OT_NETWORK_CURRENT_PATH "/networks/current" -#define OT_NETWORK_CURRENT_COMMISSION_PATH "/networks/current/commission" -#define OT_NETWORK_CURRENT_PREFIX_PATH "/networks/current/prefix" +#define OT_DIAGNOETIC_PATH "/v1/diagnostics" +#define OT_NODE_PATH "/v1/node" +#define OT_RLOC_PATH "/v1/node/rloc" +#define OT_RLOC16_PATH "/v1/node/rloc16" +#define OT_EXTADDRESS_PATH "/v1/node/ext-address" +#define OT_STATE_PATH "/v1/node/state" +#define OT_NETWORKNAME_PATH "/v1/node/network-name" +#define OT_LEADERDATA_PATH "/v1/node/leader-data" +#define OT_NUMOFROUTER_PATH "/v1/node/num-of-router" +#define OT_EXTPANID_PATH "/v1/node/ext-panid" +#define OT_NETWORK_PATH "/v1/networks" +#define OT_NETWORK_CURRENT_PATH "/v1/networks/current" +#define OT_NETWORK_CURRENT_COMMISSION_PATH "/v1/networks/current/commission" +#define OT_NETWORK_CURRENT_PREFIX_PATH "/v1/networks/current/prefix" #define OT_REST_RESOURCE_200 "200 OK" #define OT_REST_RESOURCE_201 "201 Created" #define OT_REST_RESOURCE_202 "202 Accepted" @@ -559,7 +559,7 @@ void Resource::PutCurrentNetworkCallback(const Request &aRequest, Response &aRes void Resource::GetNodeInfo(Response &aResponse) const { otError err = OT_ERROR_NONE; - std::string errorDescription; + std::string errorDescription = ""; otbrError error = OTBR_ERROR_NONE; Node node; @@ -624,7 +624,7 @@ void Resource::GetNodeInfo(Response &aResponse) const } else { - HandleError(aResponse, 500, errorDescription); + HandleError(aResponse, 500, errorDescription ); } }