Ver Fonte

feat(inspector): fixed error handling, showing response body when data proxy returns text/html body

Torkel Ödegaard há 9 anos atrás
pai
commit
a5f0f508ea

+ 6 - 2
public/app/core/controllers/inspect_ctrl.js

@@ -7,7 +7,7 @@ define([
 function (angular, _, $, coreModule) {
 function (angular, _, $, coreModule) {
   'use strict';
   'use strict';
 
 
-  coreModule.default.controller('InspectCtrl', function($scope) {
+  coreModule.default.controller('InspectCtrl', function($scope, $sanitize) {
     var model = $scope.inspector;
     var model = $scope.inspector;
 
 
     function getParametersFromQueryString(queryString) {
     function getParametersFromQueryString(queryString) {
@@ -32,7 +32,11 @@ function (angular, _, $, coreModule) {
       if (_.isString(model.error.data)) {
       if (_.isString(model.error.data)) {
         $scope.response = $("<div>" + model.error.data + "</div>").text();
         $scope.response = $("<div>" + model.error.data + "</div>").text();
       } else if (model.error.data) {
       } else if (model.error.data) {
-        $scope.response = angular.toJson(model.error.data, true);
+        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) {
       } else if (model.error.message) {
         $scope.message = model.error.message;
         $scope.message = model.error.message;
       }
       }

+ 2 - 1
public/app/core/services/backend_srv.ts

@@ -138,7 +138,8 @@ export class BackendSrv {
       //populate error obj on Internal Error
       //populate error obj on Internal Error
       if (_.isString(err.data) && err.status === 500) {
       if (_.isString(err.data) && err.status === 500) {
         err.data = {
         err.data = {
-          error: err.statusText
+          error: err.statusText,
+          response: err.data,
         };
         };
       }
       }