netty5/codec-http2/src/test/java/io/netty/handler/codec/http2
Bryce Anderson 044515f369 Defer HTTP/2 stream transition state on initial write until headers are written (#8471)
Motivation:
When the DefaultHttp2ConnectionEncoder writes the initial headers for a new
locally created stream we create the stream in the half-closed state if the
end-stream flag is set which signals to the life cycle manager that the headers
have been sent. However, if we synchronously fail to write the headers the
life cycle manager then sends a RST_STREAM on our behalf which is a connection
level PROTOCOL_ERROR because the peer sees the stream in an IDLE state.

Modification:
Don't open the stream in the half-closed state if the end-stream flag is
set and let the life cycle manager take care of it.

Result:
Cleaner state management in the DefaultHttp2ConnectionEncoder.

Fixes #8434.
2018-11-14 08:17:43 +01:00
..
AbstractWeightedFairQueueByteDistributorDependencyTest.java HTTP/2 support pending data larger than Integer.MAX_VALUE 2017-12-20 08:55:15 -08:00
CleartextHttp2ServerUpgradeHandlerTest.java HttpServerUpgradeHandler shouldn't wait for flush to reshape pipeline 2018-03-28 19:54:30 +02: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 Defer HTTP/2 stream transition state on initial write until headers are written (#8471) 2018-11-14 08:17:43 +01:00
DefaultHttp2ConnectionTest.java HTTP/2 goaway connection state update sequencing (#8080) 2018-07-03 19:51:16 -07:00
DefaultHttp2FrameReaderTest.java Make methods 'static' where it possible 2017-10-21 14:59:26 +02:00
DefaultHttp2FrameWriterTest.java Make methods 'static' where it possible 2017-10-21 14:59:26 +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 HpackDecoder treats invalid pseudo-headers as stream level errors 2018-06-26 13:53:14 +02:00
HpackEncoderTest.java Remove HpackDecoder.maxHeaderListSizeGoAway (#7911) 2018-05-19 08:31:59 +02:00
HpackHuffmanTest.java HTTP/2 move internal HPACK classes to the http2 package 2017-03-02 07:42:41 -08:00
HpackTest.java HTTP/2 move internal HPACK classes to the http2 package 2017-03-02 07:42:41 -08:00
HpackTestCase.java Fix failing h2spec tests 8.1.2.1 related to pseudo-headers validation 2018-01-29 19:42:56 -08:00
Http2ClientUpgradeCodecTest.java Provide an API for controlling and h2c upgrade response stream in Http2MultiplexCodec (#7968) 2018-06-07 16:01:41 -07:00
Http2ConnectionHandlerTest.java HTTP/2 goaway connection state update sequencing (#8080) 2018-07-03 19:51:16 -07:00
Http2ConnectionRoundtripTest.java HTTP/2 goaway connection state update sequencing (#8080) 2018-07-03 19:51:16 -07:00
Http2FrameCodecTest.java Add null-check to Htt2FrameCodec#consumeBytes. (#7899) 2018-05-02 13:01:26 +02: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
Http2MultiplexCodecBuilderTest.java Fix sharable check logic 2017-11-08 08:36:07 -08:00
Http2MultiplexCodecClientUpgradeTest.java Provide an API for controlling and h2c upgrade response stream in Http2MultiplexCodec (#7968) 2018-06-07 16:01:41 -07:00
Http2MultiplexCodecTest.java HTTP/2 child channel read cycle doesn't respect RecvByteBufAllocator and (#8147) 2018-07-26 19:44:21 -04:00
Http2ServerUpgradeCodecTest.java Fix NPE when using Http2ServerUpgradeCodec with Http2FrameCodec and Http2MultiplexCodec 2017-09-14 08:23:53 -07: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 long for http2 ping payload. 2018-02-08 10:23:34 +01:00
HttpConversionUtilTest.java HttpConversionUtil TE filtering robustness 2017-11-22 08:45:11 +01: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 HTTP/2 child channel read cycle doesn't respect RecvByteBufAllocator and (#8147) 2018-07-26 19:44:21 -04: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