This is an automated email from the ASF dual-hosted git repository.

jamesbognar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/juneau.git


The following commit(s) were added to refs/heads/master by this push:
     new fd74616  REST refactoring.
fd74616 is described below

commit fd74616d34813422e0dac80631a4ad4a041e0d13
Author: JamesBognar <[email protected]>
AuthorDate: Wed Mar 3 12:13:10 2021 -0500

    REST refactoring.
---
 .../apache/juneau/http/response/BadRequest.java    |  2 +-
 ...{HttpException.java => BasicHttpException.java} | 22 ++++++-------
 .../org/apache/juneau/http/response/Conflict.java  |  2 +-
 .../juneau/http/response/ExpectationFailed.java    |  2 +-
 .../juneau/http/response/FailedDependency.java     |  2 +-
 .../org/apache/juneau/http/response/Forbidden.java |  2 +-
 .../java/org/apache/juneau/http/response/Gone.java |  2 +-
 .../juneau/http/response/HttpExceptionBuilder.java | 12 ++++----
 .../http/response/HttpVersionNotSupported.java     |  2 +-
 .../juneau/http/response/InsufficientStorage.java  |  2 +-
 .../juneau/http/response/InternalServerError.java  |  2 +-
 .../juneau/http/response/LengthRequired.java       |  2 +-
 .../org/apache/juneau/http/response/Locked.java    |  2 +-
 .../apache/juneau/http/response/LoopDetected.java  |  2 +-
 .../juneau/http/response/MethodNotAllowed.java     |  2 +-
 .../juneau/http/response/MisdirectedRequest.java   |  2 +-
 .../response/NetworkAuthenticationRequired.java    |  2 +-
 .../apache/juneau/http/response/NotAcceptable.java |  2 +-
 .../apache/juneau/http/response/NotExtended.java   |  2 +-
 .../org/apache/juneau/http/response/NotFound.java  |  2 +-
 .../juneau/http/response/NotImplemented.java       |  2 +-
 .../juneau/http/response/PayloadTooLarge.java      |  2 +-
 .../juneau/http/response/PreconditionFailed.java   |  2 +-
 .../juneau/http/response/PreconditionRequired.java |  2 +-
 .../juneau/http/response/RangeNotSatisfiable.java  |  2 +-
 .../http/response/RequestHeaderFieldsTooLarge.java |  2 +-
 .../juneau/http/response/ServiceUnavailable.java   |  2 +-
 .../juneau/http/response/StandardResponses.java    |  6 ++--
 .../juneau/http/response/TooManyRequests.java      |  2 +-
 .../apache/juneau/http/response/Unauthorized.java  |  2 +-
 .../http/response/UnavailableForLegalReasons.java  |  2 +-
 .../juneau/http/response/UnprocessableEntity.java  |  2 +-
 .../juneau/http/response/UnsupportedMediaType.java |  2 +-
 .../juneau/http/response/UpgradeRequired.java      |  2 +-
 .../apache/juneau/http/response/UriTooLong.java    |  2 +-
 .../http/response/VariantAlsoNegotiates.java       |  2 +-
 .../org/apache/juneau/rest/RequestAttribute.java   |  2 +-
 .../java/org/apache/juneau/rest/RequestHeader.java |  6 ++--
 .../org/apache/juneau/rest/RequestHttpPart.java    | 24 +++++++--------
 .../org/apache/juneau/rest/ResponseHandler.java    |  4 +--
 .../java/org/apache/juneau/rest/RestContext.java   | 24 +++++++--------
 .../java/org/apache/juneau/rest/RestConverter.java |  4 +--
 .../java/org/apache/juneau/rest/RestGuard.java     |  8 ++---
 .../java/org/apache/juneau/rest/RestObject.java    |  4 +--
 .../apache/juneau/rest/RestOperationInvoker.java   |  4 +--
 .../java/org/apache/juneau/rest/RestRequest.java   |  4 +--
 .../java/org/apache/juneau/rest/RestServlet.java   |  4 +--
 .../apache/juneau/rest/converters/Traversable.java |  4 +--
 .../rest/reshandlers/InputStreamHandler.java       |  2 +-
 .../juneau/rest/reshandlers/ReaderHandler.java     |  2 +-
 .../apache/juneau/rest/vars/RequestSwaggerVar.java |  2 +-
 .../juneau/http/response/HttpException_Test.java   | 36 +++++++++++-----------
 .../client/BasicHttpRequestRetryHandler_Test.java  |  4 +--
 53 files changed, 122 insertions(+), 122 deletions(-)

diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/BadRequest.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/BadRequest.java
index 5ec6e93..bb935ef 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/BadRequest.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/BadRequest.java
@@ -27,7 +27,7 @@ import org.apache.juneau.http.annotation.*;
  * The server cannot or will not process the request due to an apparent client 
error (e.g., malformed request syntax, size too large, invalid request message 
framing, or deceptive request routing).
  */
 @Response(code=STATUS_CODE, description=REASON_PHRASE)
-public class BadRequest extends HttpException {
+public class BadRequest extends BasicHttpException {
        private static final long serialVersionUID = 1L;
 
        /** HTTP status code */
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/HttpException.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/BasicHttpException.java
similarity index 90%
rename from 
juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/HttpException.java
rename to 
juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/BasicHttpException.java
index bf68de0..8a9af51 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/HttpException.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/BasicHttpException.java
@@ -46,7 +46,7 @@ import org.apache.juneau.http.annotation.*;
  */
 @Response
 @BeanIgnore
-public class HttpException extends BasicRuntimeException implements 
HttpResponse {
+public class BasicHttpException extends BasicRuntimeException implements 
HttpResponse {
 
        private static final long serialVersionUID = 1L;
 
@@ -62,7 +62,7 @@ public class HttpException extends BasicRuntimeException 
implements HttpResponse
         * @param implClass The subclass that the builder is going to create.
         * @return A new builder bean.
         */
-       public static <T extends HttpException> HttpExceptionBuilder<T> 
create(Class<T> implClass) {
+       public static <T extends BasicHttpException> HttpExceptionBuilder<T> 
create(Class<T> implClass) {
                return new HttpExceptionBuilder<>(implClass);
        }
 
@@ -71,7 +71,7 @@ public class HttpException extends BasicRuntimeException 
implements HttpResponse
         *
         * @param builder The builder containing the arguments for this 
exception.
         */
-       public HttpException(HttpExceptionBuilder<?> builder) {
+       public BasicHttpException(HttpExceptionBuilder<?> builder) {
                super(builder);
                headerGroup = builder.headerGroup();
                statusLine = builder.statusLine();
@@ -86,7 +86,7 @@ public class HttpException extends BasicRuntimeException 
implements HttpResponse
         * @param msg The message.  Can be <jk>null</jk>.
         * @param args The message arguments.
         */
-       public HttpException(int statusCode, Throwable cause, String msg, 
Object...args) {
+       public BasicHttpException(int statusCode, Throwable cause, String msg, 
Object...args) {
                
this(create(null).statusCode(statusCode).causedBy(cause).message(msg, args));
        }
 
@@ -95,7 +95,7 @@ public class HttpException extends BasicRuntimeException 
implements HttpResponse
         *
         * @param statusCode The HTTP status code.
         */
-       public HttpException(int statusCode) {
+       public BasicHttpException(int statusCode) {
                this(create(null).statusCode(statusCode));
        }
 
@@ -106,7 +106,7 @@ public class HttpException extends BasicRuntimeException 
implements HttpResponse
         * @param msg The message.  Can be <jk>null</jk>.
         * @param args Optional {@link MessageFormat}-style arguments in the 
message.
         */
-       public HttpException(int statusCode, String msg, Object...args) {
+       public BasicHttpException(int statusCode, String msg, Object...args) {
                this(create(null).statusCode(statusCode).message(msg, args));
        }
 
@@ -116,7 +116,7 @@ public class HttpException extends BasicRuntimeException 
implements HttpResponse
         * @param statusCode The HTTP status code.
         * @param causedBy The cause.  Can be <jk>null</jk>.
         */
-       public HttpException(int statusCode, Throwable causedBy) {
+       public BasicHttpException(int statusCode, Throwable causedBy) {
                this(create(null).statusCode(statusCode).causedBy(causedBy));
        }
 
@@ -128,7 +128,7 @@ public class HttpException extends BasicRuntimeException 
implements HttpResponse
         *
         * @param response The HTTP response being parsed.
         */
-       public HttpException(HttpResponse response) {
+       public BasicHttpException(HttpResponse response) {
                this(create(null).copyFrom(response));
        }
 
@@ -138,7 +138,7 @@ public class HttpException extends BasicRuntimeException 
implements HttpResponse
         * @param implClass The subclass that the builder is going to create.
         * @return A new builder bean.
         */
-       public <T extends HttpException> HttpExceptionBuilder<T> 
builder(Class<T> implClass) {
+       public <T extends BasicHttpException> HttpExceptionBuilder<T> 
builder(Class<T> implClass) {
                return create(implClass).copyFrom(this);
        }
 
@@ -148,7 +148,7 @@ public class HttpException extends BasicRuntimeException 
implements HttpResponse
         * <p>
         * The root cause is the first exception in the init-cause parent chain 
that's not one of the following:
         * <ul>
-        *      <li>{@link HttpException}
+        *      <li>{@link BasicHttpException}
         *      <li>{@link InvocationTargetException}
         * </ul>
         *
@@ -157,7 +157,7 @@ public class HttpException extends BasicRuntimeException 
implements HttpResponse
        public Throwable getRootCause() {
                Throwable t = this;
                while(t != null) {
-                       if (! (t instanceof HttpException || t instanceof 
InvocationTargetException))
+                       if (! (t instanceof BasicHttpException || t instanceof 
InvocationTargetException))
                                return t;
                        t = t.getCause();
                }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/Conflict.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/Conflict.java
index c35045e..90b18b1 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/Conflict.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/Conflict.java
@@ -27,7 +27,7 @@ import org.apache.juneau.http.annotation.*;
  * Indicates that the request could not be processed because of conflict in 
the request, such as an edit conflict between multiple simultaneous updates.
  */
 @Response(code=STATUS_CODE, description=REASON_PHRASE)
-public class Conflict extends HttpException {
+public class Conflict extends BasicHttpException {
        private static final long serialVersionUID = 1L;
 
        /** HTTP status code */
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/ExpectationFailed.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/ExpectationFailed.java
index d6d7db6..e2738a8 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/ExpectationFailed.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/ExpectationFailed.java
@@ -27,7 +27,7 @@ import org.apache.juneau.http.annotation.*;
  * The server cannot meet the requirements of the Expect request-header field.
  */
 @Response(code=STATUS_CODE, description=REASON_PHRASE)
-public class ExpectationFailed extends HttpException {
+public class ExpectationFailed extends BasicHttpException {
        private static final long serialVersionUID = 1L;
 
        /** HTTP status code */
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/FailedDependency.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/FailedDependency.java
index 1f4badb..ec493d1 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/FailedDependency.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/FailedDependency.java
@@ -27,7 +27,7 @@ import org.apache.juneau.http.annotation.*;
  * The request failed because it depended on another request and that request 
failed (e.g., a PROPPATCH).
  */
 @Response(code=STATUS_CODE, description=REASON_PHRASE)
-public class FailedDependency extends HttpException {
+public class FailedDependency extends BasicHttpException {
        private static final long serialVersionUID = 1L;
 
        /** HTTP status code */
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/Forbidden.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/Forbidden.java
index a7fc273..cbd8b88 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/Forbidden.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/Forbidden.java
@@ -28,7 +28,7 @@ import org.apache.juneau.http.annotation.*;
  * <br>The user might not have the necessary permissions for a resource, or 
may need an account of some sort.
  */
 @Response(code=STATUS_CODE, description=REASON_PHRASE)
-public class Forbidden extends HttpException {
+public class Forbidden extends BasicHttpException {
        private static final long serialVersionUID = 1L;
 
        /** HTTP status code */
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/Gone.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/Gone.java
index e59eef1..725798a 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/Gone.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/Gone.java
@@ -31,7 +31,7 @@ import org.apache.juneau.http.annotation.*;
  * <br>Most use cases do not require clients and search engines to purge the 
resource, and a <js>"404 Not Found"</js> may be used instead.
  */
 @Response(code=STATUS_CODE, description=REASON_PHRASE)
-public class Gone extends HttpException {
+public class Gone extends BasicHttpException {
        private static final long serialVersionUID = 1L;
 
        /** HTTP status code */
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/HttpExceptionBuilder.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/HttpExceptionBuilder.java
index ddf8df7..5ed5a5a 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/HttpExceptionBuilder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/HttpExceptionBuilder.java
@@ -23,12 +23,12 @@ import org.apache.juneau.http.*;
 import org.apache.juneau.internal.*;
 
 /**
- * Builder for {@link HttpException} beans.
+ * Builder for {@link BasicHttpException} beans.
  *
  * @param <T> The bean type to create for this builder.
  */
 @FluentSetters(returns="HttpExceptionBuilder<T>")
-public class HttpExceptionBuilder<T extends HttpException> extends 
BasicRuntimeExceptionBuilder {
+public class HttpExceptionBuilder<T extends BasicHttpException> extends 
BasicRuntimeExceptionBuilder {
 
        BasicStatusLine statusLine;
        BasicHeaderGroup headerGroup = BasicHeaderGroup.INSTANCE;
@@ -36,13 +36,13 @@ public class HttpExceptionBuilder<T extends HttpException> 
extends BasicRuntimeE
        BasicHeaderGroupBuilder headerGroupBuilder;
        HttpEntity body;
 
-       private final Class<? extends HttpException> implClass;
+       private final Class<? extends BasicHttpException> implClass;
 
        /**
         * Constructor.
         *
         * @param implClass
-        *      The subclass of {@link HttpException} to create.
+        *      The subclass of {@link BasicHttpException} to create.
         *      <br>This must contain a public constructor that takes in an 
{@link HttpExceptionBuilder} object.
         */
        public HttpExceptionBuilder(Class<T> implClass) {
@@ -52,7 +52,7 @@ public class HttpExceptionBuilder<T extends HttpException> 
extends BasicRuntimeE
        /**
         * Instantiates the exception bean from the settings in this builder.
         *
-        * @return A new {@link HttpException} bean.
+        * @return A new {@link BasicHttpException} bean.
         */
        @SuppressWarnings("unchecked")
        public T build() {
@@ -84,7 +84,7 @@ public class HttpExceptionBuilder<T extends HttpException> 
extends BasicRuntimeE
         * @param value The exception to copy from.
         * @return This object (for method chaining).
         */
-       public HttpExceptionBuilder<T> copyFrom(HttpException value) {
+       public HttpExceptionBuilder<T> copyFrom(BasicHttpException value) {
                super.copyFrom(value);
                statusLine = value.statusLine;
                headerGroup = value.headerGroup;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/HttpVersionNotSupported.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/HttpVersionNotSupported.java
index 65c2977..9e0a7f2 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/HttpVersionNotSupported.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/HttpVersionNotSupported.java
@@ -27,7 +27,7 @@ import org.apache.juneau.http.annotation.*;
  * The server does not support the HTTP protocol version used in the request.
  */
 @Response(code=STATUS_CODE, description=REASON_PHRASE)
-public class HttpVersionNotSupported extends HttpException {
+public class HttpVersionNotSupported extends BasicHttpException {
        private static final long serialVersionUID = 1L;
 
        /** HTTP status code */
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/InsufficientStorage.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/InsufficientStorage.java
index 1c19102..a34ce03 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/InsufficientStorage.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/InsufficientStorage.java
@@ -27,7 +27,7 @@ import org.apache.juneau.http.annotation.*;
  * The server is unable to store the representation needed to complete the 
request.
  */
 @Response(code=STATUS_CODE, description=REASON_PHRASE)
-public class InsufficientStorage extends HttpException {
+public class InsufficientStorage extends BasicHttpException {
        private static final long serialVersionUID = 1L;
 
        /** HTTP status code */
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/InternalServerError.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/InternalServerError.java
index 8f0d767..6ea0b77 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/InternalServerError.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/InternalServerError.java
@@ -27,7 +27,7 @@ import org.apache.juneau.http.annotation.*;
  * A generic error message, given when an unexpected condition was encountered 
and no more specific message is suitable.
  */
 @Response(code=STATUS_CODE, description=REASON_PHRASE)
-public class InternalServerError extends HttpException {
+public class InternalServerError extends BasicHttpException {
        private static final long serialVersionUID = 1L;
 
        /** HTTP status code */
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/LengthRequired.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/LengthRequired.java
index 9b425ae..ebe1f27 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/LengthRequired.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/LengthRequired.java
@@ -27,7 +27,7 @@ import org.apache.juneau.http.annotation.*;
  * The request did not specify the length of its content, which is required by 
the requested resource.
  */
 @Response(code=STATUS_CODE, description=REASON_PHRASE)
-public class LengthRequired extends HttpException {
+public class LengthRequired extends BasicHttpException {
        private static final long serialVersionUID = 1L;
 
        /** HTTP status code */
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/Locked.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/Locked.java
index 2bae039..1d84a80 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/Locked.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/Locked.java
@@ -27,7 +27,7 @@ import org.apache.juneau.http.annotation.*;
  * The resource that is being accessed is locked.
  */
 @Response(code=STATUS_CODE, description=REASON_PHRASE)
-public class Locked extends HttpException {
+public class Locked extends BasicHttpException {
        private static final long serialVersionUID = 1L;
 
        /** HTTP status code */
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/LoopDetected.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/LoopDetected.java
index fcc1468..e6e818a 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/LoopDetected.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/LoopDetected.java
@@ -27,7 +27,7 @@ import org.apache.juneau.http.annotation.*;
  * The server detected an infinite loop while processing the request (sent in 
lieu of 208 Already Reported).
  */
 @Response(code=STATUS_CODE, description=REASON_PHRASE)
-public class LoopDetected extends HttpException {
+public class LoopDetected extends BasicHttpException {
        private static final long serialVersionUID = 1L;
 
        /** HTTP status code */
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/MethodNotAllowed.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/MethodNotAllowed.java
index 35e7f08..e8d2e84 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/MethodNotAllowed.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/MethodNotAllowed.java
@@ -27,7 +27,7 @@ import org.apache.juneau.http.annotation.*;
  * A request method is not supported for the requested resource; for example, 
a GET request on a form that requires data to be presented via POST, or a PUT 
request on a read-only resource.
  */
 @Response(code=STATUS_CODE, description=REASON_PHRASE)
-public class MethodNotAllowed extends HttpException {
+public class MethodNotAllowed extends BasicHttpException {
        private static final long serialVersionUID = 1L;
 
        /** HTTP status code */
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/MisdirectedRequest.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/MisdirectedRequest.java
index ab5efce..3d647ca 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/MisdirectedRequest.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/MisdirectedRequest.java
@@ -27,7 +27,7 @@ import org.apache.juneau.http.annotation.*;
  * The request was directed at a server that is not able to produce a response 
(for example because of connection reuse).
  */
 @Response(code=STATUS_CODE, description=REASON_PHRASE)
-public class MisdirectedRequest extends HttpException {
+public class MisdirectedRequest extends BasicHttpException {
        private static final long serialVersionUID = 1L;
 
        /** HTTP status code */
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/NetworkAuthenticationRequired.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/NetworkAuthenticationRequired.java
index ec2aad8..e562e8e 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/NetworkAuthenticationRequired.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/NetworkAuthenticationRequired.java
@@ -28,7 +28,7 @@ import org.apache.juneau.http.annotation.*;
  * <br>Intended for use by intercepting proxies used to control access to the 
network (e.g., "captive portals" used to require agreement to Terms of Service 
before granting full Internet access via a Wi-Fi hotspot).
  */
 @Response(code=STATUS_CODE, description=REASON_PHRASE)
-public class NetworkAuthenticationRequired extends HttpException {
+public class NetworkAuthenticationRequired extends BasicHttpException {
        private static final long serialVersionUID = 1L;
 
        /** HTTP status code */
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/NotAcceptable.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/NotAcceptable.java
index 3b61441..f87d552 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/NotAcceptable.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/NotAcceptable.java
@@ -27,7 +27,7 @@ import org.apache.juneau.http.annotation.*;
  * The requested resource is capable of generating only content not acceptable 
according to the Accept headers sent in the request.
  */
 @Response(code=STATUS_CODE, description=REASON_PHRASE)
-public class NotAcceptable extends HttpException {
+public class NotAcceptable extends BasicHttpException {
        private static final long serialVersionUID = 1L;
 
        /** HTTP status code */
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/NotExtended.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/NotExtended.java
index 597fffa..1d10987 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/NotExtended.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/NotExtended.java
@@ -27,7 +27,7 @@ import org.apache.juneau.http.annotation.*;
  * Further extensions to the request are required for the server to fulfill it.
  */
 @Response(code=STATUS_CODE, description=REASON_PHRASE)
-public class NotExtended extends HttpException {
+public class NotExtended extends BasicHttpException {
        private static final long serialVersionUID = 1L;
 
        /** HTTP status code */
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/NotFound.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/NotFound.java
index 2b5b436..da1f9a7 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/NotFound.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/NotFound.java
@@ -28,7 +28,7 @@ import org.apache.juneau.http.annotation.*;
  * <br>Subsequent requests by the client are permissible.
  */
 @Response(code=STATUS_CODE, description=REASON_PHRASE)
-public class NotFound extends HttpException {
+public class NotFound extends BasicHttpException {
        private static final long serialVersionUID = 1L;
 
        /** HTTP status code */
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/NotImplemented.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/NotImplemented.java
index c4fc196..4a91fcd 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/NotImplemented.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/NotImplemented.java
@@ -28,7 +28,7 @@ import org.apache.juneau.http.annotation.*;
  * <br>Usually this implies future availability (e.g., a new feature of a 
web-service API).
  */
 @Response(code=STATUS_CODE, description=REASON_PHRASE)
-public class NotImplemented extends HttpException {
+public class NotImplemented extends BasicHttpException {
        private static final long serialVersionUID = 1L;
 
        /** HTTP status code */
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/PayloadTooLarge.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/PayloadTooLarge.java
index e3eeacf..872f4ac 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/PayloadTooLarge.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/PayloadTooLarge.java
@@ -27,7 +27,7 @@ import org.apache.juneau.http.annotation.*;
  * The request is larger than the server is willing or able to process.
  */
 @Response(code=STATUS_CODE, description=REASON_PHRASE)
-public class PayloadTooLarge extends HttpException {
+public class PayloadTooLarge extends BasicHttpException {
        private static final long serialVersionUID = 1L;
 
        /** HTTP status code */
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/PreconditionFailed.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/PreconditionFailed.java
index 28dd401..23c9ed1 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/PreconditionFailed.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/PreconditionFailed.java
@@ -27,7 +27,7 @@ import org.apache.juneau.http.annotation.*;
  * The server does not meet one of the preconditions that the requester put on 
the request.
  */
 @Response(code=STATUS_CODE, description=REASON_PHRASE)
-public class PreconditionFailed extends HttpException {
+public class PreconditionFailed extends BasicHttpException {
        private static final long serialVersionUID = 1L;
 
        /** HTTP status code */
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/PreconditionRequired.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/PreconditionRequired.java
index 0661abe..2ce6355 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/PreconditionRequired.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/PreconditionRequired.java
@@ -28,7 +28,7 @@ import org.apache.juneau.http.annotation.*;
  * <br>Intended to prevent the 'lost update' problem, where a client GETs a 
resource's state, modifies it, and PUTs it back to the server, when meanwhile a 
third party has modified the state on the server, leading to a conflict.
  */
 @Response(code=STATUS_CODE, description=REASON_PHRASE)
-public class PreconditionRequired extends HttpException {
+public class PreconditionRequired extends BasicHttpException {
        private static final long serialVersionUID = 1L;
 
        /** HTTP status code */
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/RangeNotSatisfiable.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/RangeNotSatisfiable.java
index b2f48b2..6486f28 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/RangeNotSatisfiable.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/RangeNotSatisfiable.java
@@ -28,7 +28,7 @@ import org.apache.juneau.http.annotation.*;
  * <br>For example, if the client asked for a part of the file that lies 
beyond the end of the file.
  */
 @Response(code=STATUS_CODE, description=REASON_PHRASE)
-public class RangeNotSatisfiable extends HttpException {
+public class RangeNotSatisfiable extends BasicHttpException {
        private static final long serialVersionUID = 1L;
 
        /** HTTP status code */
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/RequestHeaderFieldsTooLarge.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/RequestHeaderFieldsTooLarge.java
index 7d2614f..df763f7 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/RequestHeaderFieldsTooLarge.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/RequestHeaderFieldsTooLarge.java
@@ -27,7 +27,7 @@ import org.apache.juneau.http.annotation.*;
  * The server is unwilling to process the request because either an individual 
header field, or all the header fields collectively, are too large.
  */
 @Response(code=STATUS_CODE, description=REASON_PHRASE)
-public class RequestHeaderFieldsTooLarge extends HttpException {
+public class RequestHeaderFieldsTooLarge extends BasicHttpException {
        private static final long serialVersionUID = 1L;
 
        /** HTTP status code */
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/ServiceUnavailable.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/ServiceUnavailable.java
index 0a15c50..04876eb 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/ServiceUnavailable.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/ServiceUnavailable.java
@@ -28,7 +28,7 @@ import org.apache.juneau.http.annotation.*;
  * <br>Generally, this is a temporary state.
  */
 @Response(code=STATUS_CODE, description=REASON_PHRASE)
-public class ServiceUnavailable extends HttpException {
+public class ServiceUnavailable extends BasicHttpException {
        private static final long serialVersionUID = 1L;
 
        /** HTTP status code */
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/StandardResponses.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/StandardResponses.java
index 73cecee..2321ade 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/StandardResponses.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/StandardResponses.java
@@ -403,12 +403,12 @@ public class StandardResponses {
        }
 
        /**
-        * A shortcut for calling {@link HttpException#create()}.
+        * A shortcut for calling {@link BasicHttpException#create()}.
         *
         * @return A new bean builder.
         */
-       public static HttpExceptionBuilder<HttpException> httpException() {
-               return HttpException.create(HttpException.class);
+       public static HttpExceptionBuilder<BasicHttpException> httpException() {
+               return BasicHttpException.create(BasicHttpException.class);
        }
 
        /**
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/TooManyRequests.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/TooManyRequests.java
index 274ac50..f81f371 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/TooManyRequests.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/TooManyRequests.java
@@ -28,7 +28,7 @@ import org.apache.juneau.http.annotation.*;
  * <br>Intended for use with rate-limiting schemes.
  */
 @Response(code=STATUS_CODE, description=REASON_PHRASE)
-public class TooManyRequests extends HttpException {
+public class TooManyRequests extends BasicHttpException {
        private static final long serialVersionUID = 1L;
 
        /** HTTP status code */
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/Unauthorized.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/Unauthorized.java
index bc9b435..2e247fc 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/Unauthorized.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/Unauthorized.java
@@ -30,7 +30,7 @@ import org.apache.juneau.http.annotation.*;
  * <br>Note: Some sites issue HTTP 401 when an IP address is banned from the 
website (usually the website domain) and that specific address is refused 
permission to access a website.
  */
 @Response(code=STATUS_CODE, description=REASON_PHRASE)
-public class Unauthorized extends HttpException {
+public class Unauthorized extends BasicHttpException {
        private static final long serialVersionUID = 1L;
 
        /** HTTP status code */
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/UnavailableForLegalReasons.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/UnavailableForLegalReasons.java
index c809545..80b1f52 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/UnavailableForLegalReasons.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/UnavailableForLegalReasons.java
@@ -27,7 +27,7 @@ import org.apache.juneau.http.annotation.*;
  * A server operator has received a legal demand to deny access to a resource 
or to a set of resources that includes the requested resource.
  */
 @Response(code=STATUS_CODE, description=REASON_PHRASE)
-public class UnavailableForLegalReasons extends HttpException {
+public class UnavailableForLegalReasons extends BasicHttpException {
        private static final long serialVersionUID = 1L;
 
        /** HTTP status code */
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/UnprocessableEntity.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/UnprocessableEntity.java
index 54a7e0f..c360e71 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/UnprocessableEntity.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/UnprocessableEntity.java
@@ -27,7 +27,7 @@ import org.apache.juneau.http.annotation.*;
  * The request was well-formed but was unable to be followed due to semantic 
errors.
  */
 @Response(code=STATUS_CODE, description=REASON_PHRASE)
-public class UnprocessableEntity extends HttpException {
+public class UnprocessableEntity extends BasicHttpException {
        private static final long serialVersionUID = 1L;
 
        /** HTTP status code */
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/UnsupportedMediaType.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/UnsupportedMediaType.java
index 7a69736..f00c4bc 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/UnsupportedMediaType.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/UnsupportedMediaType.java
@@ -28,7 +28,7 @@ import org.apache.juneau.http.annotation.*;
  * <br>For example, the client uploads an image as image/svg+xml, but the 
server requires that images use a different format.
  */
 @Response(code=STATUS_CODE, description=REASON_PHRASE)
-public class UnsupportedMediaType extends HttpException {
+public class UnsupportedMediaType extends BasicHttpException {
        private static final long serialVersionUID = 1L;
 
        /** HTTP status code */
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/UpgradeRequired.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/UpgradeRequired.java
index 697a895..450909f 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/UpgradeRequired.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/UpgradeRequired.java
@@ -27,7 +27,7 @@ import org.apache.juneau.http.annotation.*;
  * The client should switch to a different protocol such as TLS/1.0, given in 
the Upgrade header field.
  */
 @Response(code=STATUS_CODE, description=REASON_PHRASE)
-public class UpgradeRequired extends HttpException {
+public class UpgradeRequired extends BasicHttpException {
        private static final long serialVersionUID = 1L;
 
        /** HTTP status code */
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/UriTooLong.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/UriTooLong.java
index e1ba7cb..b87ca17 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/UriTooLong.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/UriTooLong.java
@@ -28,7 +28,7 @@ import org.apache.juneau.http.annotation.*;
  * <br>Often the result of too much data being encoded as a query-string of a 
GET request, in which case it should be converted to a POST request.
  */
 @Response(code=STATUS_CODE, description=REASON_PHRASE)
-public class UriTooLong extends HttpException {
+public class UriTooLong extends BasicHttpException {
        private static final long serialVersionUID = 1L;
 
        /** HTTP status code */
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/VariantAlsoNegotiates.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/VariantAlsoNegotiates.java
index 2975997..c981aed 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/VariantAlsoNegotiates.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/VariantAlsoNegotiates.java
@@ -27,7 +27,7 @@ import org.apache.juneau.http.annotation.*;
  * Transparent content negotiation for the request results in a circular 
reference.
  */
 @Response(code=STATUS_CODE, description=REASON_PHRASE)
-public class VariantAlsoNegotiates extends HttpException {
+public class VariantAlsoNegotiates extends BasicHttpException {
        private static final long serialVersionUID = 1L;
 
        /** HTTP status code */
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RequestAttribute.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RequestAttribute.java
index 5702033..37a7654 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RequestAttribute.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RequestAttribute.java
@@ -58,7 +58,7 @@ public class RequestAttribute extends BasicNamedAttribute {
         * @param <T> The type to convert to.
         * @param type The type to convert to.
         * @return The converted type, or {@link Optional#empty()} if the part 
is not present.
-        * @throws HttpException If value could not be parsed.
+        * @throws BasicHttpException If value could not be parsed.
         */
        public <T> Optional<T> asType(Class<T> type) {
                return 
ofNullable(req.getBeanSession().convertToType(getValue(), type));
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RequestHeader.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RequestHeader.java
index d3fab88..5090e3a 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RequestHeader.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RequestHeader.java
@@ -21,7 +21,7 @@ import org.apache.http.*;
 import org.apache.juneau.*;
 import org.apache.juneau.http.*;
 import org.apache.juneau.http.header.*;
-import org.apache.juneau.http.response.HttpException;
+import org.apache.juneau.http.response.BasicHttpException;
 import org.apache.juneau.httppart.*;
 import org.apache.juneau.reflect.*;
 import org.apache.juneau.rest.assertions.*;
@@ -238,10 +238,10 @@ public class RequestHeader extends RequestHttpPart 
implements Header {
         * Parses the value.
         *
         * @return An array of {@link HeaderElement} entries, may be empty, but 
is never <jk>null</jk>.
-        * @throws HttpException In case of a parsing error.
+        * @throws BasicHttpException In case of a parsing error.
         */
        @Override /* Header */
-       public HeaderElement[] getElements() throws HttpException {
+       public HeaderElement[] getElements() throws BasicHttpException {
                return new HeaderElement[0];
        }
 
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RequestHttpPart.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RequestHttpPart.java
index fe50309..1453576 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RequestHttpPart.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RequestHttpPart.java
@@ -144,9 +144,9 @@ public abstract class RequestHttpPart {
         * @param type The type to convert to.
         * @param args The type parameters.
         * @return The converted type, or {@link Optional#empty()} if the part 
is not present.
-        * @throws HttpException If value could not be parsed.
+        * @throws BasicHttpException If value could not be parsed.
         */
-       public <T> Optional<T> asType(Type type, Type...args) throws 
HttpException {
+       public <T> Optional<T> asType(Type type, Type...args) throws 
BasicHttpException {
                return asType(request.getBeanSession().getClassMeta(type, 
args));
        }
 
@@ -156,9 +156,9 @@ public abstract class RequestHttpPart {
         * @param <T> The type to convert to.
         * @param type The type to convert to.
         * @return The converted type, or {@link Optional#empty()} if the part 
is not present.
-        * @throws HttpException If value could not be parsed.
+        * @throws BasicHttpException If value could not be parsed.
         */
-       public <T> Optional<T> asType(Class<T> type) throws HttpException {
+       public <T> Optional<T> asType(Class<T> type) throws BasicHttpException {
                return asType(request.getBeanSession().getClassMeta(type));
        }
 
@@ -168,9 +168,9 @@ public abstract class RequestHttpPart {
         * @param <T> The type to convert to.
         * @param type The type to convert to.
         * @return The converted type, or {@link Optional#empty()} if the part 
is not present.
-        * @throws HttpException If value could not be parsed.
+        * @throws BasicHttpException If value could not be parsed.
         */
-       public <T> Optional<T> asType(ClassMeta<T> type) throws HttpException {
+       public <T> Optional<T> asType(ClassMeta<T> type) throws 
BasicHttpException {
                try {
                        return Optional.ofNullable(parser.parse(HEADER, schema, 
orElse(null), type));
                } catch (ParseException e) {
@@ -194,9 +194,9 @@ public abstract class RequestHttpPart {
         *
         * @param pattern The regular expression pattern to match.
         * @return The matcher.
-        * @throws HttpException If a connection error occurred.
+        * @throws BasicHttpException If a connection error occurred.
         */
-       public Matcher asMatcher(Pattern pattern) throws HttpException {
+       public Matcher asMatcher(Pattern pattern) throws BasicHttpException {
                return pattern.matcher(orElse(""));
        }
 
@@ -216,9 +216,9 @@ public abstract class RequestHttpPart {
         *
         * @param regex The regular expression pattern to match.
         * @return The matcher.
-        * @throws HttpException If a connection error occurred.
+        * @throws BasicHttpException If a connection error occurred.
         */
-       public Matcher asMatcher(String regex) throws HttpException {
+       public Matcher asMatcher(String regex) throws BasicHttpException {
                return asMatcher(regex, 0);
        }
 
@@ -239,9 +239,9 @@ public abstract class RequestHttpPart {
         * @param regex The regular expression pattern to match.
         * @param flags Pattern match flags.  See {@link 
Pattern#compile(String, int)}.
         * @return The matcher.
-        * @throws HttpException If a connection error occurred.
+        * @throws BasicHttpException If a connection error occurred.
         */
-       public Matcher asMatcher(String regex, int flags) throws HttpException {
+       public Matcher asMatcher(String regex, int flags) throws 
BasicHttpException {
                return asMatcher(Pattern.compile(regex, flags));
        }
 
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/ResponseHandler.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/ResponseHandler.java
index eb292e8..bac7865 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/ResponseHandler.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/ResponseHandler.java
@@ -98,9 +98,9 @@ public interface ResponseHandler {
         * @throws IOException
         *      If low-level exception occurred on output stream.
         *      Results in a {@link 
HttpServletResponse#SC_INTERNAL_SERVER_ERROR} error.
-        * @throws HttpException
+        * @throws BasicHttpException
         *      If some other exception occurred.
         *      Can be used to provide an appropriate HTTP response code and 
message.
         */
-       boolean handle(RestCall call) throws IOException, HttpException;
+       boolean handle(RestCall call) throws IOException, BasicHttpException;
 }
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
index e3023a1..a00c5fc 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
@@ -3375,7 +3375,7 @@ public class RestContext extends BeanContext {
        private final RestChildren restChildren;
        private final Logger logger;
        private final SwaggerProvider swaggerProvider;
-       private final HttpException initException;
+       private final BasicHttpException initException;
        private final RestContext parentContext;
        private final BeanStore rootBeanStore;
        private final BeanStore beanStore;
@@ -3451,7 +3451,7 @@ public class RestContext extends BeanContext {
 
                REGISTRY.put(builder.resourceClass, this);
 
-               HttpException _initException = null;
+               BasicHttpException _initException = null;
 
                try {
                        ContextProperties cp = getContextProperties();
@@ -3562,7 +3562,7 @@ public class RestContext extends BeanContext {
 
                        swaggerProvider = createSwaggerProvider(r, cp, bf, ff, 
m, vr);
 
-               } catch (HttpException e) {
+               } catch (BasicHttpException e) {
                        _initException = e;
                        throw e;
                } catch (Exception e) {
@@ -6773,10 +6773,10 @@ public class RestContext extends BeanContext {
         *
         * @param call The HTTP call.
         * @throws IOException Thrown by underlying stream.
-        * @throws HttpException Non-200 response.
+        * @throws BasicHttpException Non-200 response.
         * @throws NotImplemented No registered response handlers could handle 
the call.
         */
-       public void handleResponse(RestCall call) throws IOException, 
HttpException, NotImplemented {
+       public void handleResponse(RestCall call) throws IOException, 
BasicHttpException, NotImplemented {
 
                // Loop until we find the correct handler for the POJO.
                for (ResponseHandler h : getResponseHandlers())
@@ -6881,7 +6881,7 @@ public class RestContext extends BeanContext {
                        if (r.code().length > 0)
                                code = r.code()[0];
 
-               HttpException e2 = (e instanceof HttpException ? 
(HttpException)e : 
HttpException.create(HttpException.class).causedBy(e).statusCode(code).build());
+               BasicHttpException e2 = (e instanceof BasicHttpException ? 
(BasicHttpException)e : 
BasicHttpException.create(BasicHttpException.class).causedBy(e).statusCode(code).build());
 
                HttpServletRequest req = call.getRequest();
                HttpServletResponse res = call.getResponse();
@@ -6927,9 +6927,9 @@ public class RestContext extends BeanContext {
         * Called at the start of a request to invoke all {@link 
HookEvent#START_CALL} methods.
         *
         * @param call The current request.
-        * @throws HttpException If thrown from call methods.
+        * @throws BasicHttpException If thrown from call methods.
         */
-       protected void startCall(RestCall call) throws HttpException {
+       protected void startCall(RestCall call) throws BasicHttpException {
                for (MethodInvoker x : startCallMethods) {
                        try {
                                x.invokeUsingFactory(call.getBeanStore(), 
call.getContext().getResource());
@@ -6943,9 +6943,9 @@ public class RestContext extends BeanContext {
         * Called during a request to invoke all {@link HookEvent#PRE_CALL} 
methods.
         *
         * @param call The current request.
-        * @throws HttpException If thrown from call methods.
+        * @throws BasicHttpException If thrown from call methods.
         */
-       protected void preCall(RestCall call) throws HttpException {
+       protected void preCall(RestCall call) throws BasicHttpException {
                for (RestOperationInvoker m : preCallMethods)
                        m.invokeFromCall(call, getResource());
        }
@@ -6954,9 +6954,9 @@ public class RestContext extends BeanContext {
         * Called during a request to invoke all {@link HookEvent#POST_CALL} 
methods.
         *
         * @param call The current request.
-        * @throws HttpException If thrown from call methods.
+        * @throws BasicHttpException If thrown from call methods.
         */
-       protected void postCall(RestCall call) throws HttpException {
+       protected void postCall(RestCall call) throws BasicHttpException {
                for (RestOperationInvoker m : postCallMethods)
                        m.invokeFromCall(call, getResource());
        }
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestConverter.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestConverter.java
index 8df110e..9fd6416 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestConverter.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestConverter.java
@@ -86,8 +86,8 @@ public interface RestConverter {
         * @param req The servlet request.
         * @param res The response object set by the REST method through the 
{@link RestResponse#setOutput(Object)} method.
         * @return The converted object.
-        * @throws HttpException Thrown if any errors occur during conversion.
+        * @throws BasicHttpException Thrown if any errors occur during 
conversion.
         * @throws SerializeException Generic serialization error occurred.
         */
-       public Object convert(RestRequest req, Object res) throws 
HttpException, SerializeException;
+       public Object convert(RestRequest req, Object res) throws 
BasicHttpException, SerializeException;
 }
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestGuard.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestGuard.java
index 65e428b..aebbda2 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestGuard.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestGuard.java
@@ -37,7 +37,7 @@ import org.apache.juneau.http.response.*;
  * other purposes like pre-call validation of a request.
  *
  * <p>
- * Implementers should simply throw a {@link HttpException} from the {@link 
#guard(RestRequest, RestResponse)}
+ * Implementers should simply throw a {@link BasicHttpException} from the 
{@link #guard(RestRequest, RestResponse)}
  * method to abort processing on the current request.
  *
  * <p>
@@ -72,7 +72,7 @@ import org.apache.juneau.http.response.*;
 public abstract class RestGuard {
 
        /**
-        * Checks the current HTTP request and throws a {@link HttpException} 
if the guard does not permit the request.
+        * Checks the current HTTP request and throws a {@link 
BasicHttpException} if the guard does not permit the request.
         *
         * <p>
         * By default, throws an <jsf>SC_FORBIDDEN</jsf> exception if {@link 
#isRequestAllowed(RestRequest)} returns
@@ -83,12 +83,12 @@ public abstract class RestGuard {
         *
         * @param req The servlet request.
         * @param res The servlet response.
-        * @throws HttpException Thrown to abort processing on current request.
+        * @throws BasicHttpException Thrown to abort processing on current 
request.
         * @return
         *      <jk>true</jk> if request can proceed.
         *      Specify <jk>false</jk> if you're doing something like a 
redirection to a login page.
         */
-       public boolean guard(RestRequest req, RestResponse res) throws 
HttpException {
+       public boolean guard(RestRequest req, RestResponse res) throws 
BasicHttpException {
                if (! isRequestAllowed(req))
                        throw new Forbidden("Access denied by guard");
                return true;
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestObject.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestObject.java
index 6f7072f..43fd457 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestObject.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestObject.java
@@ -317,7 +317,7 @@ public abstract class RestObject {
         *              <br>The order of START_CALL method invocations within a 
class is alphabetical, then by parameter count, then by parameter types.
         *      <li>
         *              The method can throw any exception.
-        *              <br>{@link HttpException HttpExceptions} can be thrown 
to cause a particular HTTP error status code.
+        *              <br>{@link BasicHttpException HttpExceptions} can be 
thrown to cause a particular HTTP error status code.
         *              <br>All other exceptions cause an HTTP 500 error status 
code.
         * </ul>
         *
@@ -344,7 +344,7 @@ public abstract class RestObject {
         *              <br>The order of PRE_CALL method invocations within a 
class is alphabetical, then by parameter count, then by parameter types.
         *      <li>
         *              The method can throw any exception.
-        *              <br>{@link HttpException HttpExceptions} can be thrown 
to cause a particular HTTP error status code.
+        *              <br>{@link BasicHttpException HttpExceptions} can be 
thrown to cause a particular HTTP error status code.
         *              <br>All other exceptions cause an HTTP 500 error status 
code.
         *      <li>
         *              It's advisable not to mess around with the HTTP body 
itself since you may end up consuming the body
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOperationInvoker.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOperationInvoker.java
index 8aa89c3..c99fcc9 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOperationInvoker.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOperationInvoker.java
@@ -47,9 +47,9 @@ public class RestOperationInvoker extends MethodInvoker {
         * @param call The REST call.
         * @param resource The REST resource object.
         * @return The results of the call.
-        * @throws HttpException If an error occurred during either parameter 
resolution or method invocation.
+        * @throws BasicHttpException If an error occurred during either 
parameter resolution or method invocation.
         */
-       public Object invokeFromCall(RestCall call, Object resource) throws 
HttpException {
+       public Object invokeFromCall(RestCall call, Object resource) throws 
BasicHttpException {
                Object[] args = new Object[opArgs.length];
                for (int i = 0; i < opArgs.length; i++) {
                        ParamInfo pi = inner().getParam(i);
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestRequest.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestRequest.java
index d2a36a6..b7614a8 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestRequest.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestRequest.java
@@ -70,7 +70,7 @@ import org.apache.juneau.rest.assertions.*;
 import org.apache.juneau.http.header.*;
 import org.apache.juneau.http.header.Date;
 import org.apache.juneau.http.response.*;
-import org.apache.juneau.http.response.HttpException;
+import org.apache.juneau.http.response.BasicHttpException;
 import org.apache.juneau.rest.helper.*;
 import org.apache.juneau.rest.logging.*;
 import org.apache.juneau.rest.util.*;
@@ -419,7 +419,7 @@ public final class RestRequest {
         * </p>
         *
         * @return A new fluent assertion object.
-        * @throws HttpException If REST call failed.
+        * @throws BasicHttpException If REST call failed.
         */
        public FluentStringAssertion<RestRequest> assertCharset() {
                return new FluentStringAssertion<>(getCharset().name(), this);
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestServlet.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestServlet.java
index 68afcae..233be32 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestServlet.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestServlet.java
@@ -423,7 +423,7 @@ public abstract class RestServlet extends HttpServlet {
         *              <br>The order of START_CALL method invocations within a 
class is alphabetical, then by parameter count, then by parameter types.
         *      <li>
         *              The method can throw any exception.
-        *              <br>{@link HttpException HttpExceptions} can be thrown 
to cause a particular HTTP error status code.
+        *              <br>{@link BasicHttpException HttpExceptions} can be 
thrown to cause a particular HTTP error status code.
         *              <br>All other exceptions cause an HTTP 500 error status 
code.
         * </ul>
         *
@@ -450,7 +450,7 @@ public abstract class RestServlet extends HttpServlet {
         *              <br>The order of PRE_CALL method invocations within a 
class is alphabetical, then by parameter count, then by parameter types.
         *      <li>
         *              The method can throw any exception.
-        *              <br>{@link HttpException HttpExceptions} can be thrown 
to cause a particular HTTP error status code.
+        *              <br>{@link BasicHttpException HttpExceptions} can be 
thrown to cause a particular HTTP error status code.
         *              <br>All other exceptions cause an HTTP 500 error status 
code.
         *      <li>
         *              It's advisable not to mess around with the HTTP body 
itself since you may end up consuming the body
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/converters/Traversable.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/converters/Traversable.java
index cfedd38..2adae4b 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/converters/Traversable.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/converters/Traversable.java
@@ -45,7 +45,7 @@ public final class Traversable implements RestConverter {
 
        @Override /* RestConverter */
        @SuppressWarnings({"rawtypes", "unchecked"})
-       public Object convert(RestRequest req, Object o) throws HttpException, 
InternalServerError {
+       public Object convert(RestRequest req, Object o) throws 
BasicHttpException, InternalServerError {
                if (o == null)
                        return null;
 
@@ -60,7 +60,7 @@ public final class Traversable implements RestConverter {
                                PojoRest p = new PojoRest(o, 
req.getBody().getReaderParser());
                                o = p.get(pathRemainder);
                        } catch (PojoRestException e) {
-                               throw new HttpException(e.getStatus(), e);
+                               throw new BasicHttpException(e.getStatus(), e);
                        } catch (Throwable t) {
                                throw toHttpException(t, 
InternalServerError.class);
                        }
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/reshandlers/InputStreamHandler.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/reshandlers/InputStreamHandler.java
index ff8fa3f..ce43833 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/reshandlers/InputStreamHandler.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/reshandlers/InputStreamHandler.java
@@ -34,7 +34,7 @@ import org.apache.juneau.utils.*;
 public final class InputStreamHandler implements ResponseHandler {
 
        @Override /* ResponseHandler */
-       public boolean handle(RestCall call) throws IOException, NotAcceptable, 
HttpException {
+       public boolean handle(RestCall call) throws IOException, NotAcceptable, 
BasicHttpException {
                RestResponse res = call.getRestResponse();
                if (res.isOutputType(InputStream.class)) {
                        try (OutputStream os = res.getNegotiatedOutputStream()) 
{
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/reshandlers/ReaderHandler.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/reshandlers/ReaderHandler.java
index b62e7cb..02bb9e5 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/reshandlers/ReaderHandler.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/reshandlers/ReaderHandler.java
@@ -31,7 +31,7 @@ import org.apache.juneau.utils.*;
 public final class ReaderHandler implements ResponseHandler {
 
        @Override /* ResponseHandler */
-       public boolean handle(RestCall call) throws IOException, NotAcceptable, 
HttpException {
+       public boolean handle(RestCall call) throws IOException, NotAcceptable, 
BasicHttpException {
                RestResponse res = call.getRestResponse();
                if (res.isOutputType(Reader.class)) {
                        try (Writer w = res.getNegotiatedWriter()) {
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/vars/RequestSwaggerVar.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/vars/RequestSwaggerVar.java
index f6330a3..64f4e98 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/vars/RequestSwaggerVar.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/vars/RequestSwaggerVar.java
@@ -90,7 +90,7 @@ public class RequestSwaggerVar extends MultipartResolvingVar {
        }
 
        @Override /* Var */
-       public String resolve(VarResolverSession session, String key) throws 
HttpException, InternalServerError {
+       public String resolve(VarResolverSession session, String key) throws 
BasicHttpException, InternalServerError {
                try {
                        RestRequest req = 
session.getBean(RestRequest.class).orElseThrow(InternalServerError::new);
                        Optional<Swagger> swagger = req.getSwagger();
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/http/response/HttpException_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/http/response/HttpException_Test.java
index 09388fb..9c3fafe 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/http/response/HttpException_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/http/response/HttpException_Test.java
@@ -29,23 +29,23 @@ public class HttpException_Test {
        @Rest
        public static class A {
                @RestGet
-               public void f1() throws HttpException {
-                       throw new HttpException(225, new 
RuntimeException("foo"), "bar {0}", "baz");
+               public void f1() throws BasicHttpException {
+                       throw new BasicHttpException(225, new 
RuntimeException("foo"), "bar {0}", "baz");
                }
                @RestGet
-               public void f2() throws HttpException {
-                       throw new HttpException(225, "foo");
+               public void f2() throws BasicHttpException {
+                       throw new BasicHttpException(225, "foo");
                }
                @RestGet
-               public void f3() throws HttpException {
-                       throw new HttpException(225, new 
RuntimeException("baz"));
+               public void f3() throws BasicHttpException {
+                       throw new BasicHttpException(225, new 
RuntimeException("baz"));
                }
                @RestGet
-               public void f4() throws HttpException {
-                       throw new HttpException(225, "bar {0}", "baz");
+               public void f4() throws BasicHttpException {
+                       throw new BasicHttpException(225, "bar {0}", "baz");
                }
                @RestGet
-               public void f5() throws HttpException {
+               public void f5() throws BasicHttpException {
                        throw httpException().statusCode(225).header("Foo", 
"bar").build();
                }
        }
@@ -74,37 +74,37 @@ public class HttpException_Test {
 
        @Test
        public void a02_getRootCause() throws Exception {
-               HttpException x = new HttpException(100, null);
+               BasicHttpException x = new BasicHttpException(100, null);
                assertObject(x.getRootCause()).doesNotExist();
 
-               x = new HttpException(100, new HttpException(100,"foo"));
+               x = new BasicHttpException(100, new 
BasicHttpException(100,"foo"));
                assertObject(x.getRootCause()).doesNotExist();
 
-               x = new HttpException(100, new RuntimeException("foo"));
+               x = new BasicHttpException(100, new RuntimeException("foo"));
                assertObject(x.getRootCause()).isType(RuntimeException.class);
 
-               x = new HttpException(100, new HttpException(100, new 
RuntimeException("foo")));
+               x = new BasicHttpException(100, new BasicHttpException(100, new 
RuntimeException("foo")));
                assertObject(x.getRootCause()).isType(RuntimeException.class);
 
-               x = new HttpException(100, new InvocationTargetException(new 
RuntimeException("foo")));
+               x = new BasicHttpException(100, new 
InvocationTargetException(new RuntimeException("foo")));
                assertObject(x.getRootCause()).isType(RuntimeException.class);
        }
 
        @Test
        public void a03_getFullStackMessage() throws Exception {
-               HttpException x = new HttpException(100, null);
+               BasicHttpException x = new BasicHttpException(100, null);
                assertString(x.getFullStackMessage(false)).is("Continue");
                assertString(x.getFullStackMessage(true)).is("Continue");
 
-               x = new HttpException(100, "foo<bar>&baz");
+               x = new BasicHttpException(100, "foo<bar>&baz");
                assertString(x.getFullStackMessage(false)).is("foo<bar>&baz");
                assertString(x.getFullStackMessage(true)).is("foo bar  baz");
 
-               x = new HttpException(100, new 
RuntimeException("foo<bar>&qux"), "foo{0}","<bar>&baz");
+               x = new BasicHttpException(100, new 
RuntimeException("foo<bar>&qux"), "foo{0}","<bar>&baz");
                
assertString(x.getFullStackMessage(false)).is("foo<bar>&baz\nCaused by 
(RuntimeException): foo<bar>&qux");
                assertString(x.getFullStackMessage(true)).is("foo bar  
baz\nCaused by (RuntimeException): foo bar  qux");
 
-               x = new HttpException(100, new RuntimeException(), 
"foo{0}","<bar>&baz");
+               x = new BasicHttpException(100, new RuntimeException(), 
"foo{0}","<bar>&baz");
                
assertString(x.getFullStackMessage(false)).is("foo<bar>&baz\nCaused by 
(RuntimeException)");
                assertString(x.getFullStackMessage(true)).is("foo bar  
baz\nCaused by (RuntimeException)");
 
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/rest/client/BasicHttpRequestRetryHandler_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/rest/client/BasicHttpRequestRetryHandler_Test.java
index 29e9de3..1cc9dca 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/rest/client/BasicHttpRequestRetryHandler_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/rest/client/BasicHttpRequestRetryHandler_Test.java
@@ -22,7 +22,7 @@ import org.apache.http.*;
 import org.apache.http.HttpResponse;
 import org.apache.http.protocol.*;
 import org.apache.juneau.http.response.*;
-import org.apache.juneau.http.response.HttpException;
+import org.apache.juneau.http.response.BasicHttpException;
 import org.apache.juneau.rest.*;
 import org.apache.juneau.rest.annotation.*;
 import org.apache.juneau.rest.mock.*;
@@ -40,7 +40,7 @@ public class BasicHttpRequestRetryHandler_Test {
 
        public static class A1 extends HttpRequestExecutor {
                @Override
-               public HttpResponse execute(HttpRequest request, 
HttpClientConnection conn, HttpContext context) throws IOException, 
HttpException {
+               public HttpResponse execute(HttpRequest request, 
HttpClientConnection conn, HttpContext context) throws IOException, 
BasicHttpException {
                        throw new UnknownHostException("foo");
                }
        }

Reply via email to