From a8118a14cd20120ca7168f8ae5162e22ade48573 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Zubcevic?= <rene@zubcevic.com> Date: Fri, 21 Feb 2020 12:50:32 +0100 Subject: [PATCH] add support for status 403 feedback from e.g. ModSecurity/CRS --- .../js/goatApp/view/LessonContentView.js | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/webgoat-container/src/main/resources/static/js/goatApp/view/LessonContentView.js b/webgoat-container/src/main/resources/static/js/goatApp/view/LessonContentView.js index a9a8779b4..ea7a77d70 100644 --- a/webgoat-container/src/main/resources/static/js/goatApp/view/LessonContentView.js +++ b/webgoat-container/src/main/resources/static/js/goatApp/view/LessonContentView.js @@ -113,12 +113,16 @@ define(['jquery', //complete: function (data) { //callbackFunction(data); //} - }).then(function(data){ - self.onSuccessResponse(data, failureCallbackFunctionName, successCallBackFunctionName)}, self.onErrorResponse.bind(self)); + }).then( + function(data){ + self.onSuccessResponse(data, failureCallbackFunctionName, successCallBackFunctionName) + }, + self.onErrorResponse.bind(self) + ); return false; }, - onSuccessResponse: function(data, failureCallbackFunctionName, successCallBackFunctionName) { + onSuccessResponse: function(data, failureCallbackFunctionName, successCallBackFunctionName) { this.renderFeedback(data.feedback); this.renderOutput(data.output || ""); @@ -147,10 +151,15 @@ define(['jquery', $(this.curForm).siblings('.assignment-success').find('i').addClass('hidden'); }, - onErrorResponse: function (a,b,c) { - console.error(a); + onErrorResponse: function (data,b,c) { + console.error(data); + if (data.status == 403) { + this.renderFeedback(data.responseText); + } + console.error(b); console.error(c); + return false; },