Class BasicHttpException
- All Implemented Interfaces:
Serializable
,HttpMessage
,HttpResponse
- Direct Known Subclasses:
BadRequest
,Conflict
,ExpectationFailed
,FailedDependency
,Forbidden
,Gone
,HttpVersionNotSupported
,InsufficientStorage
,InternalServerError
,LengthRequired
,Locked
,LoopDetected
,MethodNotAllowed
,MisdirectedRequest
,NetworkAuthenticationRequired
,NotAcceptable
,NotExtended
,NotFound
,NotImplemented
,PayloadTooLarge
,PreconditionFailed
,PreconditionRequired
,RangeNotSatisfiable
,RequestHeaderFieldsTooLarge
,ServiceUnavailable
,TooManyRequests
,Unauthorized
,UnavailableForLegalReasons
,UnprocessableEntity
,UnsupportedMediaType
,UpgradeRequired
,UriTooLong
,VariantAlsoNegotiates
HttpResponse
interface for error responses.
Although this class implements the various setters defined on the HttpResponse
interface, it's in general
going to be more efficient to set the status/headers/content of this bean through the builder.
If the UnsupportedOperationException
exceptions.
Notes:
- Beans are not thread safe unless they're marked as unmodifiable.
See Also:
-
Constructor Summary
ModifierConstructorDescriptionConstructor.BasicHttpException
(int statusCode) Constructor.BasicHttpException
(int statusCode, String msg, Object... args) Constructor.BasicHttpException
(int statusCode, Throwable causedBy) Constructor.BasicHttpException
(int statusCode, Throwable cause, String msg, Object... args) Constructor.BasicHttpException
(HttpResponse response) Constructor.protected
BasicHttpException
(BasicHttpException copyFrom) Copy constructor. -
Method Summary
Modifier and TypeMethodDescriptionvoid
void
protected void
assertStatusCode
(HttpResponse response) Asserts that the specified HTTP response has the same status code as the one on the status line of this bean.boolean
containsHeader
(String name) Header[]
getFirstHeader
(String name) getFullStackMessage
(boolean scrubForXssVulnerabilities) Returns all error messages from all errors in this stack.Returns access to the underlying builder for the headers.Header[]
getHeaders
(String name) getLastHeader
(String name) Returns the root cause of this exception.int
hashCode()
headerIterator
(String name) void
removeHeader
(Header value) void
removeHeaders
(String name) setContent
(String value) Sets the body on this response.setContent
(HttpEntity value) Sets the body on this response.void
setEntity
(HttpEntity entity) void
void
setHeader2
(String name, Object value) Sets a header on this response.setHeaders
(List<Header> values) Sets the specified headers on this response.void
setHeaders
(Header[] values) setHeaders
(HeaderList value) Sets the specified headers on this response.setHeaders2
(Header... values) Sets multiple headers on this response.void
setLocale2
(Locale value) Sets the locale used to retrieve reason phrases.setMessage
(String message, Object... args) Sets the detail message on this exception.void
setParams
(HttpParams params) Sets the protocol version on the status line.void
setReasonPhrase
(String reason) setReasonPhrase2
(String value) Sets the reason phrase on the status line.Sets the reason phrase catalog used to retrieve reason phrases.void
setStatusCode
(int code) setStatusCode2
(int code) Same assetStatusCode(int)
but returns this object.void
setStatusLine
(ProtocolVersion ver, int code) void
setStatusLine
(ProtocolVersion ver, int code, String reason) void
setStatusLine
(StatusLine value) setStatusLine
(BasicStatusLine value) Sets the protocol version on the status line.Specifies whether this bean should be unmodifiable.toString()
Methods inherited from class org.apache.juneau.BasicRuntimeException
assertModifiable, fillInStackTrace, getCause, initCause, isUnmodifiable, setStackTrace, unwrap
Methods inherited from class java.lang.Throwable
addSuppressed, getCause, getLocalizedMessage, getStackTrace, getSuppressed, printStackTrace, printStackTrace, printStackTrace
-
Constructor Details
-
BasicHttpException
Constructor.- Parameters:
statusCode
- The HTTP status code.cause
- The caused-by exception. Can benull .msg
- The message. Can benull .args
- The message arguments.
-
BasicHttpException
Constructor.- Parameters:
statusCode
- The HTTP status code.
-
BasicHttpException
Constructor.- Parameters:
statusCode
- The HTTP status code.msg
- The message. Can benull .args
- OptionalMessageFormat
-style arguments in the message.
-
BasicHttpException
Constructor.- Parameters:
statusCode
- The HTTP status code.causedBy
- The cause. Can benull .
-
BasicHttpException
public BasicHttpException()Constructor. -
BasicHttpException
Constructor.This is the constructor used when parsing an HTTP response.
- Parameters:
response
- The HTTP response being parsed.
-
BasicHttpException
Copy constructor.- Parameters:
copyFrom
- The bean to copy.
-
-
Method Details
-
setUnmodifiable
Specifies whether this bean should be unmodifiable.When enabled, attempting to set any properties on this bean will cause an
UnsupportedOperationException
.- Overrides:
setUnmodifiable
in classBasicRuntimeException
- Returns:
- This object.
-
setStatusLine
Sets the protocol version on the status line.If not specified,
"HTTP/1.1" will be used.- Parameters:
value
- The new value.- Returns:
- This object.
-
setStatusCode2
Same assetStatusCode(int)
but returns this object.- Parameters:
code
- The new status code.- Returns:
- This object.
- Throws:
IllegalStateException
- If status code could not be set.
-
setProtocolVersion
Sets the protocol version on the status line.If not specified,
"HTTP/1.1" will be used.- Parameters:
value
- The new value.- Returns:
- This object.
-
setReasonPhrase2
Sets the reason phrase on the status line.If not specified, the reason phrase will be retrieved from the reason phrase catalog using the locale on this builder.
- Parameters:
value
- The new value.- Returns:
- This object.
-
setReasonPhraseCatalog
Sets the reason phrase catalog used to retrieve reason phrases.If not specified, uses
EnglishReasonPhraseCatalog
.- Parameters:
value
- The new value.- Returns:
- This object.
-
setLocale2
Sets the locale used to retrieve reason phrases.If not specified, uses
Locale.getDefault()
.- Parameters:
value
- The new value.- Returns:
- This object.
-
getHeaders
Returns access to the underlying builder for the headers.- Returns:
- The underlying builder for the headers.
-
setHeaders
Sets the specified headers on this response.- Parameters:
value
- The new value.- Returns:
- This object.
-
setHeader2
Sets a header on this response.- Parameters:
name
- The header name.value
- The header value.- Returns:
- This object.
-
setHeaders2
Sets multiple headers on this response.- Parameters:
values
- The headers to add.- Returns:
- This object.
-
setHeaders
Sets the specified headers on this response.- Parameters:
values
- The headers to set.null values are ignored.- Returns:
- This object.
-
setContent
Sets the body on this response.- Parameters:
value
- The body on this response.- Returns:
- This object.
-
setContent
Sets the body on this response.- Parameters:
value
- The body on this response.- Returns:
- This object.
-
assertStatusCode
Asserts that the specified HTTP response has the same status code as the one on the status line of this bean.- Parameters:
response
- The HTTP response to check. Must not benull .- Throws:
AssertionError
- If status code is not what was expected.
-
getRootCause
Returns the root cause of this exception.The root cause is the first exception in the init-cause parent chain that's not one of the following:
- Returns:
- The root cause of this exception, or
null if no root cause was found.
-
getFullStackMessage
Returns all error messages from all errors in this stack.Typically useful if you want to render all the error messages in the stack, but don't want to render all the stack traces too.
- Parameters:
scrubForXssVulnerabilities
- Iftrue , replaces'<' ,'>' , and'&' characters with spaces.- Returns:
- All error messages from all errors in this stack.
-
getMessage
- Overrides:
getMessage
in classBasicRuntimeException
-
hashCode
-
toString
-
getProtocolVersion
- Specified by:
getProtocolVersion
in interfaceHttpMessage
-
containsHeader
- Specified by:
containsHeader
in interfaceHttpMessage
-
getHeaders
- Specified by:
getHeaders
in interfaceHttpMessage
-
getFirstHeader
- Specified by:
getFirstHeader
in interfaceHttpMessage
-
getLastHeader
- Specified by:
getLastHeader
in interfaceHttpMessage
-
getAllHeaders
- Specified by:
getAllHeaders
in interfaceHttpMessage
-
addHeader
- Specified by:
addHeader
in interfaceHttpMessage
-
addHeader
- Specified by:
addHeader
in interfaceHttpMessage
-
setHeader
- Specified by:
setHeader
in interfaceHttpMessage
-
setHeader
- Specified by:
setHeader
in interfaceHttpMessage
-
setHeaders
- Specified by:
setHeaders
in interfaceHttpMessage
-
removeHeader
- Specified by:
removeHeader
in interfaceHttpMessage
-
removeHeaders
- Specified by:
removeHeaders
in interfaceHttpMessage
-
headerIterator
- Specified by:
headerIterator
in interfaceHttpMessage
-
headerIterator
- Specified by:
headerIterator
in interfaceHttpMessage
-
getParams
- Specified by:
getParams
in interfaceHttpMessage
-
setParams
- Specified by:
setParams
in interfaceHttpMessage
-
getStatusLine
- Specified by:
getStatusLine
in interfaceHttpResponse
-
setStatusLine
- Specified by:
setStatusLine
in interfaceHttpResponse
-
setStatusLine
- Specified by:
setStatusLine
in interfaceHttpResponse
-
setStatusLine
- Specified by:
setStatusLine
in interfaceHttpResponse
-
setStatusCode
- Specified by:
setStatusCode
in interfaceHttpResponse
- Throws:
IllegalStateException
-
setReasonPhrase
- Specified by:
setReasonPhrase
in interfaceHttpResponse
- Throws:
IllegalStateException
-
getEntity
- Specified by:
getEntity
in interfaceHttpResponse
-
setEntity
- Specified by:
setEntity
in interfaceHttpResponse
-
getLocale
- Specified by:
getLocale
in interfaceHttpResponse
-
setLocale
- Specified by:
setLocale
in interfaceHttpResponse
-
setMessage
Description copied from class:BasicRuntimeException
Sets the detail message on this exception.- Overrides:
setMessage
in classBasicRuntimeException
- Parameters:
message
- The message.args
- The message args.- Returns:
- This object.
-