From 7a1b99bab326c6c9757a8979d423548025826702 Mon Sep 17 00:00:00 2001 From: Darin Kelkhoff Date: Tue, 14 May 2024 08:31:40 -0500 Subject: [PATCH] CE-1180 Add full QHttpResponse to BadResponse exception --- .../module/api/actions/BaseAPIActionUtil.java | 2 +- .../QBadHttpResponseStatusException.java | 44 +++++++++++++++++-- 2 files changed, 41 insertions(+), 5 deletions(-) diff --git a/qqq-backend-module-api/src/main/java/com/kingsrook/qqq/backend/module/api/actions/BaseAPIActionUtil.java b/qqq-backend-module-api/src/main/java/com/kingsrook/qqq/backend/module/api/actions/BaseAPIActionUtil.java index 700664c9..57cef42d 100644 --- a/qqq-backend-module-api/src/main/java/com/kingsrook/qqq/backend/module/api/actions/BaseAPIActionUtil.java +++ b/qqq-backend-module-api/src/main/java/com/kingsrook/qqq/backend/module/api/actions/BaseAPIActionUtil.java @@ -594,7 +594,7 @@ public class BaseAPIActionUtil } String warningMessage = "HTTP " + request.getMethod() + " for table [" + table.getName() + "] failed with status " + statusCode + ": " + resultString; - throw (new QBadHttpResponseStatusException(warningMessage, statusCode)); + throw (new QBadHttpResponseStatusException(warningMessage, response)); } diff --git a/qqq-backend-module-api/src/main/java/com/kingsrook/qqq/backend/module/api/exceptions/QBadHttpResponseStatusException.java b/qqq-backend-module-api/src/main/java/com/kingsrook/qqq/backend/module/api/exceptions/QBadHttpResponseStatusException.java index 35ddd0cd..8587ba29 100644 --- a/qqq-backend-module-api/src/main/java/com/kingsrook/qqq/backend/module/api/exceptions/QBadHttpResponseStatusException.java +++ b/qqq-backend-module-api/src/main/java/com/kingsrook/qqq/backend/module/api/exceptions/QBadHttpResponseStatusException.java @@ -23,25 +23,30 @@ package com.kingsrook.qqq.backend.module.api.exceptions; import com.kingsrook.qqq.backend.core.exceptions.QException; +import com.kingsrook.qqq.backend.module.api.actions.QHttpResponse; /******************************************************************************* ** Exception thrown when an API HTTP request failed due to a bad status code. - ** This exception includes the status code as a field + ** This exception includes the status code as a field, as well as the full + ** response object. *******************************************************************************/ public class QBadHttpResponseStatusException extends QException { - private int statusCode; + private int statusCode; + private QHttpResponse response; /******************************************************************************* ** *******************************************************************************/ - public QBadHttpResponseStatusException(String message, int statusCode) + public QBadHttpResponseStatusException(String message, QHttpResponse response) { super(message); - this.statusCode = statusCode; + + this.statusCode = response.getStatusCode(); + this.response = response; } @@ -75,4 +80,35 @@ public class QBadHttpResponseStatusException extends QException return (this); } + + + /******************************************************************************* + ** Getter for response + *******************************************************************************/ + public QHttpResponse getResponse() + { + return (this.response); + } + + + + /******************************************************************************* + ** Setter for response + *******************************************************************************/ + public void setResponse(QHttpResponse response) + { + this.response = response; + } + + + + /******************************************************************************* + ** Fluent setter for response + *******************************************************************************/ + public QBadHttpResponseStatusException withResponse(QHttpResponse response) + { + this.response = response; + return (this); + } + }