netty5/codec-http/src/main/java/io/netty/handler/codec/http
Nick Travers 48911e0b63 Set (and override) websocket handshake headers after custom headers (#7975)
Motivation:

Currently, when passing custom headers to a WebSocketClientHandshaker,
if values are added for headers that are reserved for use in the
websocket handshake performed with the server, these custom values can
be used by the server to compute the websocket handshake challenge. If
the server computes the response to the challenge with the custom header
values, rather than the values computed by the client handshaker, the
handshake may fail.

Modifications:

Update the client handshaker implementations to add the custom header
values first, and then set the reserved websocket header values.

Result:

Reserved websocket handshake headers, if present in the custom headers
passed to the client handshaker, will not be propagated to the server.
Instead the client handshaker will propagate the values it generates.

Fixes #7973.
2018-05-30 19:52:40 +02:00
..
cookie Fixes NPE in ClientCookieDecoder 2018-04-05 19:44:08 +02:00
cors Fixes NPE in Corshandler for unauthorized prefligt requests (#7865) 2018-04-13 14:36:45 +02:00
multipart Allow to call AbstractDiskHttpData.setContent(Unpooled.EMPTY_BUFFER) multiple times. (#7890) 2018-04-30 08:39:24 +02:00
websocketx Set (and override) websocket handshake headers after custom headers (#7975) 2018-05-30 19:52:40 +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 Correctly take status into account when compare DefaultHttpResponse (#7965) 2018-05-24 20:13:21 +02: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 Don't replace all 'connection' headers when sending h2c upgrade request (#7824) 2018-04-01 19:59:30 +02: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 Extract common parts from if statements (#7831) 2018-04-11 14:36:56 +02: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 handle responses with status 205 and payload. (#7891) 2018-05-03 11:25:06 +02: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