netty5/codec-http2/src/test/java/io/netty/handler/codec/http2
Norman Maurer 16b98d370f
Correctly handle http2 upgrades when Http2FrameCodec is used together… (#9318)
Motivation:

In the latest release we introduced Http2MultiplexHandler as a replacement of Http2MultiplexCodec. This did split the frame parsing from the multiplexing to allow a more flexible way to handle frames and to make the code cleaner. Unfortunally we did miss to special handle this in Http2ServerUpgradeCodec and so did not correctly add Http2MultiplexHandler to the pipeline before calling Http2FrameCodec.onHttpServerUpgrade(...). This did lead to the situation that we did not correctly receive the event on the Http2MultiplexHandler and so did not correctly created the Http2StreamChannel for the upgrade stream. Because of this we ended up with an NPE if a frame was dispatched to the upgrade stream later on.

Modifications:

- Correctly add Http2MultiplexHandler to the pipeline before calling Http2FrameCodec.onHttpServerUpgrade(...)
- Add unit test

Result:

Fixes https://github.com/netty/netty/issues/9314.
2019-07-04 08:32:41 +02:00
..
AbstractWeightedFairQueueByteDistributorDependencyTest.java HTTP/2 support pending data larger than Integer.MAX_VALUE 2017-12-20 08:55:15 -08:00
CleartextHttp2ServerUpgradeHandlerTest.java Fix h2c upgrade failure when multiple connection headers are present in upgrade request (#8848) 2019-02-12 08:05:30 -08:00
DataCompressionHttp2Test.java Trigger user event when H2 conn preface & SETTINGS frame are sent 2017-10-24 09:17:06 +02:00
DefaultHttp2ConnectionDecoderTest.java HTTP/2 goaway connection state update sequencing (#8080) 2018-07-03 19:51:16 -07:00
DefaultHttp2ConnectionEncoderTest.java Ensure FlowControlled data frames will be correctly removed from the … (#8726) 2019-01-19 14:01:31 +01:00
DefaultHttp2ConnectionTest.java Update to new checkstyle plugin (#8777) (#8780) 2019-01-25 11:58:42 +01:00
DefaultHttp2FrameReaderTest.java Make methods 'static' where it possible 2017-10-21 14:59:26 +02:00
DefaultHttp2FrameWriterTest.java Disable Huffman encoding for small headers (#9260) 2019-07-01 21:00:20 +02:00
DefaultHttp2HeadersDecoderTest.java HTTP/2 move internal HPACK classes to the http2 package 2017-03-02 07:42:41 -08:00
DefaultHttp2HeadersEncoderTest.java HTTP/2 Max Header List Size Bug 2017-01-19 10:42:43 -08:00
DefaultHttp2HeadersTest.java DefaultHttp2Headers#contains(CharSequence, CharSequence) does not work with String 2018-01-27 20:27:50 +01:00
DefaultHttp2LocalFlowControllerTest.java Remove deprecated usage of Mockito methods 2017-03-09 20:59:54 +01:00
DefaultHttp2RemoteFlowControllerTest.java Convert Http2Error.STREAM_CLOSED to ClosedChannelException when using child channels 2018-01-29 17:50:29 -08:00
HashCollisionTest.java Remove unsafe char[] access in PlatformDependent 2016-06-30 08:58:28 -07:00
HpackDecoderTest.java Use Table lookup for HPACK decoder (#9307) 2019-07-02 20:09:44 +02:00
HpackEncoderTest.java Use Table lookup for HPACK decoder (#9307) 2019-07-02 20:09:44 +02:00
HpackHuffmanTest.java Use Table lookup for HPACK decoder (#9307) 2019-07-02 20:09:44 +02:00
HpackTest.java Adding support for whitespace in resource path in tests (#8606) 2018-12-12 10:29:02 +01:00
HpackTestCase.java Use Table lookup for HPACK decoder (#9307) 2019-07-02 20:09:44 +02:00
Http2ClientUpgradeCodecTest.java remove unused imports (#9287) 2019-06-26 21:08:31 +02:00
Http2ConnectionHandlerTest.java Http2ConnectionHandler to allow decoupling close(..) from GOAWAY graceful close (#9094) 2019-04-28 17:48:04 -07:00
Http2ConnectionRoundtripTest.java Ensure FlowControlled data frames will be correctly removed from the … (#8726) 2019-01-19 14:01:31 +01:00
Http2FrameCodecTest.java HTTP/2 avoid closing connection when writing GOAWAY (#9227) 2019-06-06 17:44:12 -07:00
Http2FrameInboundWriter.java Cleanup HTTP/2 tests for Http2FrameCodec and Http2MultiplexCodec (#8646) 2018-12-28 15:07:01 +01:00
Http2FrameRoundtripTest.java Use long for http2 ping payload. 2018-02-08 10:23:34 +01:00
Http2HeaderBlockIOTest.java HTTP/2 Max Header List Size Bug 2017-01-19 10:42:43 -08:00
Http2MultiplexClientUpgradeTest.java Split multiplexing from frame decoding to allow easier customization of frame processing and better seperation of responsibilities (#9239) 2019-06-24 09:17:15 +02:00
Http2MultiplexCodecBuilderTest.java Fix sharable check logic 2017-11-08 08:36:07 -08:00
Http2MultiplexCodecClientUpgradeTest.java Split multiplexing from frame decoding to allow easier customization of frame processing and better seperation of responsibilities (#9239) 2019-06-24 09:17:15 +02:00
Http2MultiplexCodecTest.java Don't propagate Http2WindowUpdateFrame to the child channel / propagate Http2ResetFrame as user event when using Http2MultiplexHandler (#9290) 2019-06-27 21:52:52 +02:00
Http2MultiplexHandlerClientUpgradeTest.java Split multiplexing from frame decoding to allow easier customization of frame processing and better seperation of responsibilities (#9239) 2019-06-24 09:17:15 +02:00
Http2MultiplexHandlerTest.java Don't propagate Http2WindowUpdateFrame to the child channel / propagate Http2ResetFrame as user event when using Http2MultiplexHandler (#9290) 2019-06-27 21:52:52 +02:00
Http2MultiplexTest.java Don't propagate Http2WindowUpdateFrame to the child channel / propagate Http2ResetFrame as user event when using Http2MultiplexHandler (#9290) 2019-06-27 21:52:52 +02:00
Http2MultiplexTransportTest.java Split multiplexing from frame decoding to allow easier customization of frame processing and better seperation of responsibilities (#9239) 2019-06-24 09:17:15 +02:00
Http2ServerUpgradeCodecTest.java Correctly handle http2 upgrades when Http2FrameCodec is used together… (#9318) 2019-07-04 08:32:41 +02:00
Http2SettingsTest.java HTTP/2 Ensure default settings are correctly enforced and interfaces clarified 2016-10-07 13:00:45 -07:00
Http2StreamFrameToHttpObjectCodecTest.java Make Http2StreamFrameToHttpObjectCodec truly @Sharable (#8482) 2018-11-09 18:23:53 +01:00
Http2TestUtil.java Use Table lookup for HPACK decoder (#9307) 2019-07-02 20:09:44 +02:00
HttpConversionUtilTest.java codec-http2: Lazily translate cookies for HTTP/1 (#9251) 2019-06-19 11:03:49 +02:00
HttpToHttp2ConnectionHandlerTest.java Trigger user event when H2 conn preface & SETTINGS frame are sent 2017-10-24 09:17:06 +02:00
InboundHttp2ToHttpAdapterTest.java Only enable validation of headers if original headers were validating as well. 2017-12-21 07:32:29 +01:00
InOrderHttp2Headers.java Fix failing h2spec tests 8.1.2.1 related to pseudo-headers validation 2018-01-29 19:42:56 -08:00
LastInboundHandler.java HTTP/2 child channel read cycle doesn't respect RecvByteBufAllocator and (#8147) 2018-07-26 19:44:21 -04:00
ReadOnlyHttp2HeadersTest.java ReadOnlyHttp2Headers.contains always ignores case for values 2018-01-27 20:29:40 +01:00
StreamBufferingEncoderTest.java HTTP/2 goaway connection state update sequencing (#8080) 2018-07-03 19:51:16 -07:00
TestChannelInitializer.java Cleanup HTTP/2 tests for Http2FrameCodec and Http2MultiplexCodec (#8646) 2018-12-28 15:07:01 +01:00
TestHeaderListener.java HTTP/2 move internal HPACK classes to the http2 package 2017-03-02 07:42:41 -08:00
UniformStreamByteDistributorFlowControllerTest.java HTTP/2 DefaultHttp2RemoteFlowController Stream writability notification broken 2015-12-21 10:01:33 +01:00
UniformStreamByteDistributorTest.java HTTP/2 support pending data larger than Integer.MAX_VALUE 2017-12-20 08:55:15 -08:00
WeightedFairQueueByteDistributorDependencyTreeTest.java HTTP/2 StreamByteDistributor improve parameter validation 2017-04-24 17:17:18 -07:00
WeightedFairQueueByteDistributorTest.java HTTP/2 support pending data larger than Integer.MAX_VALUE 2017-12-20 08:55:15 -08:00
WeightedFairQueueRemoteFlowControllerTest.java HTTP/2 DefaultHttp2RemoteFlowController Stream writability notification broken 2015-12-21 10:01:33 +01:00