netty5/codec-http/src/main/java/io/netty/handler/codec/http
Matthias Einwag 7fbd66f814 Added an option to use websockets without masking
Motivation:

The requirement for the masking of frames and for checks of correct
masking in the websocket specifiation have a large impact on performance.
While it is mandatory for browsers to use masking there are other
applications (like IPC protocols) that want to user websocket framing and proxy-traversing
characteristics without the overhead of masking. The websocket standard
also mentions that the requirement for mask verification on server side
might be dropped in future.

Modifications:

Added an optional parameter allowMaskMismatch for the websocket decoder
that allows a server to also accept unmasked frames (and clients to accept
masked frames).
Allowed to set this option through the websocket handshaker
constructors as well as the websocket client and server handlers.
The public API for existing components doesn't change, it will be
forwarded to functions which implicetly set masking as required in the
specification.
For websocket clients an additional parameter is added that allows to
disable the masking of frames that are sent by the client.

Result:

This update gives netty users the ability to create and use completely
unmasked websocket connections in addition to the normal masked channels
that the standard describes.
2014-10-25 22:18:43 +09:00
..
cors CorsHandler should release HttpRequest after processing preflight/error. 2014-10-22 06:37:34 +02:00
multipart V4.1 Fix "=" character in HttpPostRequestDecoder 2014-10-21 16:06:37 +09:00
websocketx Added an option to use websockets without masking 2014-10-25 22:18:43 +09:00
ClientCookieEncoder.java Remove 'get' prefix from all HTTP/SPDY messages 2014-06-24 18:03:33 +09:00
ComposedLastHttpContent.java Introduce MessageAggregator and DecoderResultProvider 2014-06-05 16:51:14 +09:00
Cookie.java Remove 'get' prefix from all HTTP/SPDY messages 2014-06-24 18:03:33 +09:00
CookieDecoder.java [#1384] Cache HttpHeaderDateFormat in ThreadLocal 2013-05-23 11:39:50 +02:00
CookieEncoderUtil.java Refactor FastThreadLocal to simplify TLV management 2014-06-19 21:13:55 +09:00
CookieHeaderNames.java Update license headers 2012-06-04 13:31:44 -07:00
DefaultCookie.java Remove 'get' prefix from all HTTP/SPDY messages 2014-06-24 18:03:33 +09:00
DefaultFullHttpRequest.java Remove 'get' prefix from all HTTP/SPDY messages 2014-06-24 18:03:33 +09:00
DefaultFullHttpResponse.java Remove 'get' prefix from all HTTP/SPDY messages 2014-06-24 18:03:33 +09:00
DefaultHttpContent.java Introduce MessageAggregator and DecoderResultProvider 2014-06-05 16:51:14 +09:00
DefaultHttpHeaders.java Introduce TextHeaders and AsciiString 2014-06-14 15:36:19 +09:00
DefaultHttpMessage.java Remove 'get' prefix from all HTTP/SPDY messages 2014-06-24 18:03:33 +09:00
DefaultHttpObject.java Remove 'get' prefix from all HTTP/SPDY messages 2014-06-24 18:03:33 +09:00
DefaultHttpRequest.java Remove 'get' prefix from all HTTP/SPDY messages 2014-06-24 18:03:33 +09:00
DefaultHttpResponse.java Remove 'get' prefix from all HTTP/SPDY messages 2014-06-24 18:03:33 +09:00
DefaultLastHttpContent.java Backport the additional AsciiString/TextHeader changes from master 2014-06-14 17:33:34 +09:00
FullHttpMessage.java Enable a user specify an arbitrary information with ReferenceCounted.touch() 2014-02-13 18:16:25 -08:00
FullHttpRequest.java Enable a user specify an arbitrary information with ReferenceCounted.touch() 2014-02-13 18:16:25 -08:00
FullHttpResponse.java Enable a user specify an arbitrary information with ReferenceCounted.touch() 2014-02-13 18:16:25 -08:00
HttpChunkedInput.java Allow ChunkedInput to provide the progress of its transfer 2014-08-14 16:49:09 -07:00
HttpClientCodec.java Add the encoder/decoder getter methods to HttpClientCodec 2014-10-14 12:29:08 +09:00
HttpConstants.java Update license headers 2012-06-04 13:31:44 -07:00
HttpContent.java Enable a user specify an arbitrary information with ReferenceCounted.touch() 2014-02-13 18:16:25 -08:00
HttpContentCompressor.java Fix most inspector warnings 2014-07-02 19:55:07 +09:00
HttpContentDecoder.java HTTP Content Decoder Cleanup Bug 2014-09-10 14:58:40 +02:00
HttpContentDecompressor.java [#2005] Allow to use HttpContentDecompressor in strict mode 2013-11-26 08:22:01 +01:00
HttpContentEncoder.java Remove 'get' prefix from all HTTP/SPDY messages 2014-06-24 18:03:33 +09:00
HttpHeaderDateFormat.java Refactor FastThreadLocal to simplify TLV management 2014-06-19 21:13:55 +09:00
HttpHeaders.java Fix most inspector warnings 2014-07-02 19:55:07 +09:00
HttpHeadersEncoder.java Introduce TextHeaders and AsciiString 2014-06-14 15:36:19 +09:00
HttpMessage.java Remove 'get' prefix from all HTTP/SPDY messages 2014-06-24 18:03:33 +09:00
HttpMethod.java Synchronized between 4.1 and master 2014-04-25 00:38:02 +09:00
HttpObject.java Introduce MessageAggregator and DecoderResultProvider 2014-06-05 16:51:14 +09:00
HttpObjectAggregator.java Don't close the connection whenever Expect: 100-continue is missing. 2014-10-24 21:35:17 +02:00
HttpObjectDecoder.java Overall cleanup of cf4c464d99 2014-10-25 16:56:20 +09:00
HttpObjectEncoder.java Handle an empty ByteBuf specially in HttpObjectEncoder 2014-10-22 14:46:22 +09:00
HttpRequest.java Remove 'get' prefix from all HTTP/SPDY messages 2014-06-24 18:03:33 +09:00
HttpRequestDecoder.java Allow to disable validation of HTTP headers which shows a 5k perf improvement here when disabled 2013-11-14 07:45:03 +01:00
HttpRequestEncoder.java [#2732] HttpRequestEncoder may produce invalid uri if uri parameters are included. 2014-08-05 10:13:53 +02:00
HttpResponse.java Remove 'get' prefix from all HTTP/SPDY messages 2014-06-24 18:03:33 +09:00
HttpResponseDecoder.java Small performance improvements 2014-07-20 09:26:04 +02:00
HttpResponseEncoder.java Remove 'get' prefix from all HTTP/SPDY messages 2014-06-24 18:03:33 +09:00
HttpResponseStatus.java Introduce TextHeaders and AsciiString 2014-06-14 15:36:19 +09:00
HttpServerCodec.java Add the encoder/decoder getter methods to HttpClientCodec 2014-10-14 12:29:08 +09:00
HttpVersion.java [#1682] HttpVersion.valueOf(...) should not convert to uppercase 2014-02-13 16:36:36 -08:00
LastHttpContent.java Remove 'get' prefix from all HTTP/SPDY messages 2014-06-24 18:03:33 +09: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 Allow to access uri of QueryStringDecoder. Related to [#2896] 2014-09-19 20:08:23 +02:00
QueryStringEncoder.java Remove 'get' prefix from all HTTP/SPDY messages 2014-06-24 18:03:33 +09:00
ServerCookieEncoder.java Remove 'get' prefix from all HTTP/SPDY messages 2014-06-24 18:03:33 +09:00