grafana/public/app/core/controllers/inspect_ctrl.js

72 lines
2.0 KiB
JavaScript
Raw Normal View History

2014-04-05 06:26:48 -05:00
define([
'angular',
'lodash',
'jquery',
'../core_module',
2014-04-05 06:26:48 -05:00
],
function (angular, _, $, coreModule) {
2014-04-05 06:26:48 -05:00
'use strict';
coreModule.default.controller('InspectCtrl', function($scope, $sanitize) {
var model = $scope.inspector;
function 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;
}
2014-04-05 06:26:48 -05:00
$scope.init = function () {
$scope.editor = { index: 0 };
2014-04-05 06:26:48 -05:00
if (!model.error) {
return;
2014-04-05 06:26:48 -05:00
}
if (_.isString(model.error.data)) {
$scope.response = $("<div>" + model.error.data + "</div>").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 = 2;
$scope.stack_trace = model.error.stack;
$scope.message = model.error.message;
}
2014-04-05 06:26:48 -05:00
if (model.error.config && model.error.config.data) {
$scope.editor.index = 1;
2014-04-05 06:26:48 -05:00
if (_.isString(model.error.config.data)) {
$scope.request_parameters = 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)};
});
2014-04-05 06:26:48 -05:00
}
}
};
});
});