Package io.netty.handler.codec.http2
Class Http2Exception
java.lang.Object
java.lang.Throwable
java.lang.Exception
io.netty.handler.codec.http2.Http2Exception
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
Http2Exception.ClosedStreamCreationException,Http2Exception.CompositeStreamException,Http2Exception.StacklessHttp2Exception,Http2Exception.StreamException,Http2NoMoreStreamIdsException,StreamBufferingEncoder.Http2ChannelClosedException,StreamBufferingEncoder.Http2GoAwayException
Exception thrown when an HTTP/2 error was encountered.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classUsed when a stream creation attempt fails but may be because the stream was previously closed.static final classProvides the ability to handle multiple stream exceptions with one throw statement.static final classstatic enumProvides a hint as to if shutdown is justified, what type of shutdown should be executed.private static final classstatic classRepresents an exception that can be isolated to a single stream (as opposed to the entire connection). -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Http2Errorprivate static final longprivate final Http2Exception.ShutdownHint -
Constructor Summary
ConstructorsModifierConstructorDescriptionHttp2Exception(Http2Error error) Http2Exception(Http2Error error, Http2Exception.ShutdownHint shutdownHint) Http2Exception(Http2Error error, String message) Http2Exception(Http2Error error, String message, Http2Exception.ShutdownHint shutdownHint) privateHttp2Exception(Http2Error error, String message, Http2Exception.ShutdownHint shutdownHint, boolean shared) Http2Exception(Http2Error error, String message, Throwable cause) Http2Exception(Http2Error error, String message, Throwable cause, Http2Exception.ShutdownHint shutdownHint) -
Method Summary
Modifier and TypeMethodDescriptionstatic Http2ExceptionclosedStreamError(Http2Error error, String fmt, Object... args) Use if an error has occurred which can not be isolated to a single stream, but instead applies to the entire connection.static Http2ExceptionconnectionError(Http2Error error, String fmt, Object... args) Use if an error has occurred which can not be isolated to a single stream, but instead applies to the entire connection.static Http2ExceptionconnectionError(Http2Error error, Throwable cause, String fmt, Object... args) Use if an error has occurred which can not be isolated to a single stream, but instead applies to the entire connection.error()private static StringformatErrorMessage(String fmt, Object[] args) static Http2ExceptionheaderListSizeError(int id, Http2Error error, boolean onDecode, String fmt, Object... args) A specific stream error resulting from failing to decode headers that exceeds the max header size list.static booleanCheck if an exception is isolated to a single stream or the entire connection.(package private) static Http2ExceptionnewStatic(Http2Error error, String message, Http2Exception.ShutdownHint shutdownHint, Class<?> clazz, String method) Provide a hint as to what type of shutdown should be executed.static Http2ExceptionstreamError(int id, Http2Error error, String fmt, Object... args) Use if an error which can be isolated to a single stream has occurred.static Http2ExceptionstreamError(int id, Http2Error error, Throwable cause, String fmt, Object... args) Use if an error which can be isolated to a single stream has occurred.static intGet the stream id associated with an exception.Methods inherited from class java.lang.Throwable
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
error
-
shutdownHint
-
-
Constructor Details
-
Http2Exception
-
Http2Exception
-
Http2Exception
-
Http2Exception
-
Http2Exception
-
Http2Exception
public Http2Exception(Http2Error error, String message, Throwable cause, Http2Exception.ShutdownHint shutdownHint) -
Http2Exception
private Http2Exception(Http2Error error, String message, Http2Exception.ShutdownHint shutdownHint, boolean shared)
-
-
Method Details
-
newStatic
static Http2Exception newStatic(Http2Error error, String message, Http2Exception.ShutdownHint shutdownHint, Class<?> clazz, String method) -
error
-
shutdownHint
Provide a hint as to what type of shutdown should be executed. Note this hint may be ignored. -
connectionError
Use if an error has occurred which can not be isolated to a single stream, but instead applies to the entire connection.- Parameters:
error- The type of error as defined by the HTTP/2 specification.fmt- String with the content and format for the additional debug data.args- Objects which fit into the format defined byfmt.- Returns:
- An exception which can be translated into an HTTP/2 error.
-
connectionError
public static Http2Exception connectionError(Http2Error error, Throwable cause, String fmt, Object... args) Use if an error has occurred which can not be isolated to a single stream, but instead applies to the entire connection.- Parameters:
error- The type of error as defined by the HTTP/2 specification.cause- The object which caused the error.fmt- String with the content and format for the additional debug data.args- Objects which fit into the format defined byfmt.- Returns:
- An exception which can be translated into an HTTP/2 error.
-
closedStreamError
Use if an error has occurred which can not be isolated to a single stream, but instead applies to the entire connection.- Parameters:
error- The type of error as defined by the HTTP/2 specification.fmt- String with the content and format for the additional debug data.args- Objects which fit into the format defined byfmt.- Returns:
- An exception which can be translated into an HTTP/2 error.
-
streamError
Use if an error which can be isolated to a single stream has occurred. If theidis notHttp2CodecUtil.CONNECTION_STREAM_IDthen aHttp2Exception.StreamExceptionwill be returned. Otherwise the error is considered a connection error and aHttp2Exceptionis returned.- Parameters:
id- The stream id for which the error is isolated to.error- The type of error as defined by the HTTP/2 specification.fmt- String with the content and format for the additional debug data.args- Objects which fit into the format defined byfmt.- Returns:
- If the
idis notHttp2CodecUtil.CONNECTION_STREAM_IDthen aHttp2Exception.StreamExceptionwill be returned. Otherwise the error is considered a connection error and aHttp2Exceptionis returned.
-
streamError
public static Http2Exception streamError(int id, Http2Error error, Throwable cause, String fmt, Object... args) Use if an error which can be isolated to a single stream has occurred. If theidis notHttp2CodecUtil.CONNECTION_STREAM_IDthen aHttp2Exception.StreamExceptionwill be returned. Otherwise the error is considered a connection error and aHttp2Exceptionis returned.- Parameters:
id- The stream id for which the error is isolated to.error- The type of error as defined by the HTTP/2 specification.cause- The object which caused the error.fmt- String with the content and format for the additional debug data.args- Objects which fit into the format defined byfmt.- Returns:
- If the
idis notHttp2CodecUtil.CONNECTION_STREAM_IDthen aHttp2Exception.StreamExceptionwill be returned. Otherwise the error is considered a connection error and aHttp2Exceptionis returned.
-
headerListSizeError
public static Http2Exception headerListSizeError(int id, Http2Error error, boolean onDecode, String fmt, Object... args) A specific stream error resulting from failing to decode headers that exceeds the max header size list. If theidis notHttp2CodecUtil.CONNECTION_STREAM_IDthen aHttp2Exception.StreamExceptionwill be returned. Otherwise the error is considered a connection error and aHttp2Exceptionis returned.- Parameters:
id- The stream id for which the error is isolated to.error- The type of error as defined by the HTTP/2 specification.onDecode- Whether this error was caught while decoding headersfmt- String with the content and format for the additional debug data.args- Objects which fit into the format defined byfmt.- Returns:
- If the
idis notHttp2CodecUtil.CONNECTION_STREAM_IDthen aHttp2Exception.HeaderListSizeExceptionwill be returned. Otherwise the error is considered a connection error and aHttp2Exceptionis returned.
-
formatErrorMessage
-
isStreamError
Check if an exception is isolated to a single stream or the entire connection.- Parameters:
e- The exception to check.- Returns:
trueifeis an instance ofHttp2Exception.StreamException.falseotherwise.
-
streamId
Get the stream id associated with an exception.- Parameters:
e- The exception to get the stream id for.- Returns:
Http2CodecUtil.CONNECTION_STREAM_IDifeis a connection error. Otherwise the stream id associated with the stream error.
-