import angular from 'angular'; import _ from 'lodash'; import $ from 'jquery'; import coreModule from '../core_module'; export class InspectCtrl { /** @ngInject */ constructor($scope, $sanitize) { var model = $scope.inspector; $scope.init = function () { $scope.editor = { index: 0 }; if (!model.error) { return; } if (_.isString(model.error.data)) { $scope.response = $("
" + model.error.data + "
").text(); } else if (model.error.data) { if (model.error.data.response) { $scope.response = $sanitize(model.error.data.response); } else { $scope.response = angular.toJson(model.error.data, true); } } else if (model.error.message) { $scope.message = model.error.message; } if (model.error.config && model.error.config.params) { $scope.request_parameters = _.map(model.error.config.params, function(value, key) { return { key: key, value: value}; }); } if (model.error.stack) { $scope.editor.index = 3; $scope.stack_trace = model.error.stack; $scope.message = model.error.message; } if (model.error.config && model.error.config.data) { $scope.editor.index = 2; if (_.isString(model.error.config.data)) { $scope.request_parameters = this.getParametersFromQueryString(model.error.config.data); } else { $scope.request_parameters = _.map(model.error.config.data, function(value, key) { return {key: key, value: angular.toJson(value, true)}; }); } } }; } getParametersFromQueryString(queryString) { var result = []; var parameters = queryString.split("&"); for (var i = 0; i < parameters.length; i++) { var keyValue = parameters[i].split("="); if (keyValue[1].length > 0) { result.push({ key: keyValue[0], value: (window).unescape(keyValue[1]) }); } } return result; } } coreModule.controller('InspectCtrl', InspectCtrl);