netty5/codec-http2/src/test/java/io/netty/handler/codec/http2
Norman Maurer d1e88610ff 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:33:09 +02:00
..
AbstractWeightedFairQueueByteDistributorDependencyTest.java migrate java8: use lambda and method reference (#8781) 2019-01-29 14:06:05 +01:00
CleartextHttp2ServerUpgradeHandlerTest.java Merge ChannelInboundHandler and ChannelOutboundHandler into ChannelHa… (#8957) 2019-03-28 09:28:27 +00:00
DataCompressionHttp2Test.java Merge ChannelInboundHandler and ChannelOutboundHandler into ChannelHa… (#8957) 2019-03-28 09:28:27 +00:00
DefaultHttp2ConnectionDecoderTest.java Remove code that accounts for changing EventExecutors in DefaultPromise (#8996) 2019-04-03 10:36:55 +02:00
DefaultHttp2ConnectionEncoderTest.java migrate java8: use lambda and method reference (#8781) 2019-01-29 14:06:05 +01:00
DefaultHttp2ConnectionTest.java migrate java8: use lambda and method reference (#8781) 2019-01-29 14:06:05 +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:10:33 +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 migrate java8: use lambda and method reference (#8781) 2019-01-29 14:06:05 +01:00
HashCollisionTest.java migrate java8: use lambda and method reference (#8781) 2019-01-29 14:06:05 +01:00
HpackDecoderTest.java Use Table lookup for HPACK decoder (#9307) 2019-07-02 20:13:19 +02:00
HpackEncoderTest.java Use Table lookup for HPACK decoder (#9307) 2019-07-02 20:13:19 +02:00
HpackHuffmanTest.java Use Table lookup for HPACK decoder (#9307) 2019-07-02 20:13:19 +02:00
HpackTest.java Java 8 migration: Use diamond operator (#8749) 2019-01-22 16:07:26 +01:00
HpackTestCase.java Use Table lookup for HPACK decoder (#9307) 2019-07-02 20:13:19 +02:00
Http2ClientUpgradeCodecTest.java Merge ChannelInboundHandler and ChannelOutboundHandler into ChannelHa… (#8957) 2019-03-28 09:28:27 +00:00
Http2ConnectionHandlerTest.java Http2ConnectionHandler to allow decoupling close(..) from GOAWAY graceful close (#9094) 2019-04-28 17:55:44 -07:00
Http2ConnectionRoundtripTest.java Merge ChannelInboundHandler and ChannelOutboundHandler into ChannelHa… (#8957) 2019-03-28 09:28:27 +00:00
Http2FrameCodecTest.java HTTP/2 avoid closing connection when writing GOAWAY (#9227) 2019-06-06 17:44:43 -07:00
Http2FrameInboundWriter.java Merge ChannelInboundHandler and ChannelOutboundHandler into ChannelHa… (#8957) 2019-03-28 09:28:27 +00:00
Http2FrameRoundtripTest.java migrate java8: use lambda and method reference (#8781) 2019-01-29 14:06:05 +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 10:26:12 +02:00
Http2MultiplexCodecBuilderTest.java Merge ChannelInboundHandler and ChannelOutboundHandler into ChannelHa… (#8957) 2019-03-28 09:28:27 +00:00
Http2MultiplexCodecClientUpgradeTest.java Split multiplexing from frame decoding to allow easier customization of frame processing and better seperation of responsibilities (#9239) 2019-06-24 10:26:12 +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:53:15 +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 10:26:12 +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:53:15 +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:53:15 +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 10:26:12 +02:00
Http2ServerUpgradeCodecTest.java Correctly handle http2 upgrades when Http2FrameCodec is used together… (#9318) 2019-07-04 08:33:09 +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 Merge ChannelInboundHandler and ChannelOutboundHandler into ChannelHa… (#8957) 2019-03-28 09:28:27 +00:00
Http2TestUtil.java Use Table lookup for HPACK decoder (#9307) 2019-07-02 20:13:19 +02:00
HttpConversionUtilTest.java codec-http2: Lazily translate cookies for HTTP/1 (#9251) 2019-06-19 11:04:38 +02:00
HttpToHttp2ConnectionHandlerTest.java Merge ChannelInboundHandler and ChannelOutboundHandler into ChannelHa… (#8957) 2019-03-28 09:28:27 +00:00
InboundHttp2ToHttpAdapterTest.java Merge ChannelInboundHandler and ChannelOutboundHandler into ChannelHa… (#8957) 2019-03-28 09:28:27 +00: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 Merge ChannelInboundHandler and ChannelOutboundHandler into ChannelHa… (#8957) 2019-03-28 09:28:27 +00:00
ReadOnlyHttp2HeadersTest.java ReadOnlyHttp2Headers.contains always ignores case for values 2018-01-27 20:29:40 +01:00
StreamBufferingEncoderTest.java migrate java8: use lambda and method reference (#8781) 2019-01-29 14:06:05 +01:00
TestChannelInitializer.java Cleanup HTTP/2 tests for Http2FrameCodec and Http2MultiplexCodec (#8646) 2018-12-14 11:10:20 +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 migrate java8: use lambda and method reference (#8781) 2019-01-29 14:06:05 +01:00
WeightedFairQueueByteDistributorDependencyTreeTest.java migrate java8: use lambda and method reference (#8781) 2019-01-29 14:06:05 +01: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