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.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.static classRepresents an exception that can be isolated to a single stream (as opposed to the entire connection). -
Constructor Summary
ConstructorsConstructorDescriptionHttp2Exception(Http2Error error) Http2Exception(Http2Error error, Http2Exception.ShutdownHint shutdownHint) Http2Exception(Http2Error error, String message) Http2Exception(Http2Error error, String message, Http2Exception.ShutdownHint shutdownHint) 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()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.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 Throwable
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
-
Constructor Details
-
Http2Exception
-
Http2Exception
-
Http2Exception
-
Http2Exception
-
Http2Exception
-
Http2Exception
public Http2Exception(Http2Error error, String message, Throwable cause, Http2Exception.ShutdownHint shutdownHint)
-
-
Method Details
-
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.
-
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.
-