/** * Exceptions for unknown streams, that is streams that have no {@link Http2FrameStream} object attached * are simply logged and replied to by sending a RST_STREAM frame. */ @Override protected final void onStreamError(ChannelHandlerContext ctx, boolean outbound, Throwable cause, Http2Exception.StreamException streamException) { int streamId = streamException.streamId(); Http2Stream connectionStream = connection().stream(streamId); if (connectionStream == null) { onHttp2UnknownStreamError(ctx, cause, streamException); // Write a RST_STREAM super.onStreamError(ctx, outbound, cause, streamException); return; } Http2FrameStream stream = connectionStream.getProperty(streamKey); if (stream == null) { LOG.warn("Stream exception thrown without stream object attached.", cause); // Write a RST_STREAM super.onStreamError(ctx, outbound, cause, streamException); return; } if (!outbound) { // We only forward non outbound errors as outbound errors will already be reflected by failing the promise. onHttp2FrameStreamException(ctx, new Http2FrameStreamException(stream, streamException.error(), cause)); } }
/** * Exceptions for unknown streams, that is streams that have no {@link Http2FrameStream} object attached * are simply logged and replied to by sending a RST_STREAM frame. */ @Override protected final void onStreamError(ChannelHandlerContext ctx, boolean outbound, Throwable cause, Http2Exception.StreamException streamException) { int streamId = streamException.streamId(); Http2Stream connectionStream = connection().stream(streamId); if (connectionStream == null) { onHttp2UnknownStreamError(ctx, cause, streamException); // Write a RST_STREAM super.onStreamError(ctx, outbound, cause, streamException); return; } Http2FrameStream stream = connectionStream.getProperty(streamKey); if (stream == null) { LOG.warn("Stream exception thrown without stream object attached.", cause); // Write a RST_STREAM super.onStreamError(ctx, outbound, cause, streamException); return; } if (!outbound) { // We only forward non outbound errors as outbound errors will already be reflected by failing the promise. onHttp2FrameStreamException(ctx, new Http2FrameStreamException(stream, streamException.error(), cause)); } }
/** * Exceptions for unknown streams, that is streams that have no {@link Http2FrameStream} object attached * are simply logged and replied to by sending a RST_STREAM frame. */ @Override protected final void onStreamError(ChannelHandlerContext ctx, boolean outbound, Throwable cause, Http2Exception.StreamException streamException) { int streamId = streamException.streamId(); Http2Stream connectionStream = connection().stream(streamId); if (connectionStream == null) { onHttp2UnknownStreamError(ctx, cause, streamException); // Write a RST_STREAM super.onStreamError(ctx, outbound, cause, streamException); return; } Http2FrameStream stream = connectionStream.getProperty(streamKey); if (stream == null) { LOG.warn("Stream exception thrown without stream object attached.", cause); // Write a RST_STREAM super.onStreamError(ctx, outbound, cause, streamException); return; } if (!outbound) { // We only forward non outbound errors as outbound errors will already be reflected by failing the promise. onHttp2FrameStreamException(ctx, new Http2FrameStreamException(stream, streamException.error(), cause)); } }
/** * Exceptions for unknown streams, that is streams that have no {@link Http2FrameStream} object attached * are simply logged and replied to by sending a RST_STREAM frame. */ @Override protected final void onStreamError(ChannelHandlerContext ctx, boolean outbound, Throwable cause, Http2Exception.StreamException streamException) { int streamId = streamException.streamId(); Http2Stream connectionStream = connection().stream(streamId); if (connectionStream == null) { onHttp2UnknownStreamError(ctx, cause, streamException); // Write a RST_STREAM super.onStreamError(ctx, outbound, cause, streamException); return; } Http2FrameStream stream = connectionStream.getProperty(streamKey); if (stream == null) { LOG.warn("Stream exception thrown without stream object attached.", cause); // Write a RST_STREAM super.onStreamError(ctx, outbound, cause, streamException); return; } if (!outbound) { // We only forward non outbound errors as outbound errors will already be reflected by failing the promise. onHttp2FrameStreamException(ctx, new Http2FrameStreamException(stream, streamException.error(), cause)); } }
/** * Exceptions for unknown streams, that is streams that have no {@link Http2FrameStream} object attached * are simply logged and replied to by sending a RST_STREAM frame. */ @Override protected final void onStreamError(ChannelHandlerContext ctx, boolean outbound, Throwable cause, Http2Exception.StreamException streamException) { int streamId = streamException.streamId(); Http2Stream connectionStream = connection().stream(streamId); if (connectionStream == null) { onHttp2UnknownStreamError(ctx, cause, streamException); // Write a RST_STREAM super.onStreamError(ctx, outbound, cause, streamException); return; } Http2FrameStream stream = connectionStream.getProperty(streamKey); if (stream == null) { LOG.warn("Stream exception thrown without stream object attached.", cause); // Write a RST_STREAM super.onStreamError(ctx, outbound, cause, streamException); return; } if (!outbound) { // We only forward non outbound errors as outbound errors will already be reflected by failing the promise. onHttp2FrameStreamException(ctx, new Http2FrameStreamException(stream, streamException.error(), cause)); } }
/** * Exceptions for unknown streams, that is streams that have no {@link Http2FrameStream} object attached * are simply logged and replied to by sending a RST_STREAM frame. */ @Override protected final void onStreamError(ChannelHandlerContext ctx, boolean outbound, Throwable cause, Http2Exception.StreamException streamException) { int streamId = streamException.streamId(); Http2Stream connectionStream = connection().stream(streamId); if (connectionStream == null) { onHttp2UnknownStreamError(ctx, cause, streamException); // Write a RST_STREAM super.onStreamError(ctx, outbound, cause, streamException); return; } Http2FrameStream stream = connectionStream.getProperty(streamKey); if (stream == null) { LOG.warn("Stream exception thrown without stream object attached.", cause); // Write a RST_STREAM super.onStreamError(ctx, outbound, cause, streamException); return; } if (!outbound) { // We only forward non outbound errors as outbound errors will already be reflected by failing the promise. onHttp2FrameStreamException(ctx, new Http2FrameStreamException(stream, streamException.error(), cause)); } }