netty5/codec-http/src/main/java/io/netty/handler/codec/http
Bryce Anderson b309271e49 HttpServerUpgradeHandler shouldn't wait for flush to reshape pipeline
Motivation:

There is a race between both flushing the upgrade response and receiving
more data before the flush ChannelPromise can fire and reshape the
pipeline. Since We have already committed to an upgrade by writing the
upgrade response, we need to be immediately prepared for handling the
next protocol.

Modifications:

The pipeline reshaping logic in HttpServerUpgradeHandler has been moved
out of the ChannelFutureListener attached to the write of the upgrade
response and happens immediately after the writeAndFlush call, but
before the method returns.

Result:

The pipeline is no longer subject to receiving more data before the
pipeline has been reformed.
2018-03-28 19:54:30 +02:00
..
cookie Fix ServerCookieEncoder javadoc, close #7115 2017-08-28 20:21:57 +02:00
cors Fix typos in docs. 2018-02-14 08:44:07 +01:00
multipart Fix HttpPostMultipartRequestDecoder.splitMultipartHeader() String index out of range: -1 with empty header 2018-01-25 14:03:35 +01:00
websocketx Correct filling an origin header for WS client 2017-10-23 11:38:34 +02:00
ClientCookieEncoder.java Fix javadoc issues 2017-02-22 07:31:07 +01:00
CombinedHttpHeaders.java HttpHeaders valuesIterator and contains improvements 2017-11-20 08:34:06 -08:00
ComposedLastHttpContent.java Make retained derived buffers recyclable 2016-05-17 11:16:13 +02:00
Cookie.java Deprecation cleanup for HTTP headers 2015-09-09 14:30:21 -07:00
CookieDecoder.java Clean up following #6016 2016-11-21 12:35:40 -08:00
CookieUtil.java Validate cookie name and value characters Motivation: 2015-05-07 06:33:36 +02:00
DefaultCookie.java Validate cookie name and value characters Motivation: 2015-05-07 06:33:36 +02:00
DefaultFullHttpRequest.java Only enable validation of headers if original headers were validating as well. 2017-12-21 07:32:29 +01:00
DefaultFullHttpResponse.java Only enable validation of headers if original headers were validating as well. 2017-12-21 07:32:29 +01:00
DefaultHttpContent.java Make retained derived buffers recyclable 2016-05-17 11:16:13 +02:00
DefaultHttpHeaders.java Only enable validation of headers if original headers were validating as well. 2017-12-21 07:32:29 +01:00
DefaultHttpMessage.java Add a possibility to create HttpMessage instances with pre-existing Headers 2015-12-31 08:52:30 +01:00
DefaultHttpObject.java Back port HTTP/2 codec from master to 4.1 2015-01-23 11:06:11 -05:00
DefaultHttpRequest.java Add a possibility to create HttpMessage instances with pre-existing Headers 2015-12-31 08:52:30 +01:00
DefaultHttpResponse.java Add a possibility to create HttpMessage instances with pre-existing Headers 2015-12-31 08:52:30 +01:00
DefaultLastHttpContent.java Make retained derived buffers recyclable 2016-05-17 11:16:13 +02:00
EmptyHttpHeaders.java Move EmptyHttpHeaders.INSTANCE initialization to inner class. 2017-11-17 16:31:09 +01:00
FullHttpMessage.java Make retained derived buffers recyclable 2016-05-17 11:16:13 +02:00
FullHttpRequest.java Make retained derived buffers recyclable 2016-05-17 11:16:13 +02:00
FullHttpResponse.java Make retained derived buffers recyclable 2016-05-17 11:16:13 +02:00
HttpChunkedInput.java Fix possible NPE in HttpCunkedInput if wrapped ChunkedInput.readChunk(...) return null. 2016-06-17 06:27:04 +02:00
HttpClientCodec.java Correctly handle WebSockets 00 when using HttpClientCodec. 2017-11-03 15:55:22 +01:00
HttpClientUpgradeHandler.java codec-http: HttpClientUpgradeHandler can handle streamed responses 2016-11-01 06:32:41 +01:00
HttpConstants.java [#4010] Correctly handle whitespaces in HttpPostMultipartRequestDecoder 2015-08-14 21:16:42 +02:00
HttpContent.java Make retained derived buffers recyclable 2016-05-17 11:16:13 +02:00
HttpContentCompressor.java When the response exceeds the threshold, it will be compressed 2018-02-25 16:43:45 +01:00
HttpContentDecoder.java Correctly propagate channelInactive even if cleanup throws 2017-11-21 11:55:39 +01:00
HttpContentDecompressor.java Ensure the same ByteBufAllocator is used in the EmbeddedChannel when compress / decompress. Related to [#5294] 2016-05-31 09:08:33 +02:00
HttpContentEncoder.java Fix typos in docs. 2018-02-14 08:44:07 +01:00
HttpExpectationFailedEvent.java HttpObjectAggregator doesn't check content-length header 2015-08-17 09:26:50 -07:00
HttpHeaderDateFormat.java Clean up following #6016 2016-11-21 12:35:40 -08:00
HttpHeaderNames.java Immediate caching the strings wrapped to AsciiString 2017-08-15 06:22:14 +02:00
HttpHeaders.java Only enable validation of headers if original headers were validating as well. 2017-12-21 07:32:29 +01:00
HttpHeadersEncoder.java Use ByteBuf#writeShort/writeMedium instead of writeBytes 2017-07-10 14:37:41 +02:00
HttpHeaderValues.java Immediate caching the strings wrapped to AsciiString 2017-08-15 06:22:14 +02:00
HttpMessage.java Remove 'get' prefix from all HTTP/SPDY messages 2014-06-24 18:03:33 +09:00
HttpMessageUtil.java Implement toString() for all HttpMessage implementations 2014-12-31 18:39:00 +09:00
HttpMethod.java HttpMethod#valueOf improvement 2017-11-20 11:07:50 -08:00
HttpObject.java Introduce MessageAggregator and DecoderResultProvider 2014-06-05 16:51:14 +09:00
HttpObjectAggregator.java Only enable validation of headers if original headers were validating as well. 2017-12-21 07:32:29 +01:00
HttpObjectDecoder.java Correctly handle 205 Reset Content response with transfer-encoding 2017-11-14 08:02:09 +01:00
HttpObjectEncoder.java Correctly convert empty HttpContent to ByteBuf 2017-11-08 13:46:32 -08:00
HttpRequest.java Fix errors reported by javadoc 2015-12-27 08:36:45 +01:00
HttpRequestDecoder.java HttpObjectDecoder configurable initial buffer size 2016-02-07 21:23:29 -08:00
HttpRequestEncoder.java Only add / to uri if really needed. 2017-07-18 09:24:19 +02:00
HttpResponse.java Fix errors reported by javadoc 2015-12-27 08:36:45 +01:00
HttpResponseDecoder.java HttpResponseStatus object allocation reduction 2018-01-24 22:01:52 -08:00
HttpResponseEncoder.java Correctly not write any body when 1xx, 204 or 304 is used as response status code. 2017-09-20 07:41:13 -07:00
HttpResponseStatus.java HttpResponseStatus object allocation reduction 2018-01-24 22:01:52 -08:00
HttpScheme.java Immediate caching the strings wrapped to AsciiString 2017-08-15 06:22:14 +02:00
HttpServerCodec.java Correctly not write any body when 1xx, 204 or 304 is used as response status code. 2017-09-20 07:41:13 -07:00
HttpServerExpectContinueHandler.java Motivation: 2017-04-27 16:20:29 -07:00
HttpServerKeepAliveHandler.java HttpServerKeepAliveHandler doesn't correctly handle VoidChannelPromise 2017-05-04 14:08:18 -07:00
HttpServerUpgradeHandler.java HttpServerUpgradeHandler shouldn't wait for flush to reshape pipeline 2018-03-28 19:54:30 +02:00
HttpStatusClass.java Immediate caching the strings wrapped to AsciiString 2017-08-15 06:22:14 +02:00
HttpUtil.java HttpProxyHandler generates invalid CONNECT url and Host header when address is resolved 2018-03-27 09:43:11 +02:00
HttpVersion.java Apply appropriate methods for writing CharSequence into ByteBuf 2017-06-27 07:58:39 +02:00
LastHttpContent.java Make retained derived buffers recyclable 2016-05-17 11:16:13 +02:00
package-info.java Remove apiviz tags - we are focusing on user guide instead and putting diagrams there 2013-02-14 12:09:16 -08:00
QueryStringDecoder.java Added QueryStringDecoder.rawPath() and rawQuery() 2017-10-24 09:32:06 +02:00
QueryStringEncoder.java Optimizations in QueryStringEncoder 2017-06-23 14:03:32 -07:00
ReadOnlyHttpHeaders.java HttpHeaders valuesIterator and contains improvements 2017-11-20 08:34:06 -08:00
ServerCookieEncoder.java Fix ServerCookieEncoder javadoc, close #7115 2017-08-28 20:21:57 +02:00