Trustin Lee
33c0c89fef
Remove unnecessary empty lines
2012-12-03 19:58:13 +09:00
Norman Maurer
717bde05e2
[786] Fix possible corruption of first WebSocketFrame caused by WebSocketServerHandshaker*
2012-12-02 19:55:45 +01:00
Trustin Lee
81e2db10fa
ByteBufAllocator API w/ ByteBuf perf improvements
...
This commit introduces a new API for ByteBuf allocation which fixes
issue #643 along with refactoring of ByteBuf for simplicity and better
performance. (see #62 )
A user can configure the ByteBufAllocator of a Channel via
ChannelOption.ALLOCATOR or ChannelConfig.get/setAllocator(). The
default allocator is currently UnpooledByteBufAllocator.HEAP_BY_DEFAULT.
To allocate a buffer, do not use Unpooled anymore. do the following:
ctx.alloc().buffer(...); // allocator chooses the buffer type.
ctx.alloc().heapBuffer(...);
ctx.alloc().directBuffer(...);
To deallocate a buffer, use the unsafe free() operation:
((UnsafeByteBuf) buf).free();
The following is the list of the relevant changes:
- Add ChannelInboundHandler.freeInboundBuffer() and
ChannelOutboundHandler.freeOutboundBuffer() to let a user free the
buffer he or she allocated. ChannelHandler adapter classes implement
is already, so most users won't need to call free() by themselves.
freeIn/OutboundBuffer() methods are invoked when a Channel is closed
and deregistered.
- All ByteBuf by contract must implement UnsafeByteBuf. To access an
unsafe operation: ((UnsafeByteBuf) buf).internalNioBuffer()
- Replace WrappedByteBuf and ByteBuf.Unsafe with UnsafeByteBuf to
simplify overall class hierarchy and to avoid unnecesary instantiation
of Unsafe instances on an unsafe operation.
- Remove buffer reference counting which is confusing
- Instantiate SwappedByteBuf lazily to avoid instantiation cost
- Rename ChannelFutureFactory to ChannelPropertyAccess and move common
methods between Channel and ChannelHandlerContext there. Also made it
package-private to hide it from a user.
- Remove unused unsafe operations such as newBuffer()
- Add DetectionUtil.canFreeDirectBuffer() so that an allocator decides
which buffer type to use safely
2012-11-22 15:10:59 +09:00
Norman Maurer
2adebc4c54
[ #755 ] SPDY: fix header block values truncation in decompression
2012-11-20 20:09:59 +01:00
Mike Heath
ff14feeb54
The handshake handler should not handle the exception and simply close the socket. The exception should be propagated to the WebSocketServerProtocolHandler to send the appropriate response and then close the socket.
2012-11-20 10:00:28 +01:00
dantran
4107b08f29
Only generate OSGi manifest only at all-in-on sub module to reduce the complexity to the build
2012-11-19 06:27:18 +01:00
Jeff Pinner
ef26ffe9d8
SPDY: remove deprecated methods
2012-11-17 19:30:42 +01:00
Jeff Pinner
97d07253e2
SPDY: fixed session status (internal error misdocumented)
2012-11-17 19:30:42 +01:00
Norman Maurer
d28eca7138
[ #740 ] Fix WebSocketClientHandshaker00.finishHandshake() validations
2012-11-15 13:06:48 +01:00
Norman Maurer
46d713970b
[ #737 ] WebSocketClientHandshaker00 should set Content-Length header do workaround problem with proxy
2012-11-14 10:08:44 +01:00
Norman Maurer
3b729848dc
[ #735 ] Improve the notification of the handshake future
2012-11-13 20:05:54 +01:00
Norman Maurer
efaa5c2ff5
[ #735 ] Make sure the handshake ChannelFuture is notified after the right encoder is present in the ChannelPipeline
2012-11-13 09:26:32 +01:00
Norman Maurer
2d5028bfd6
[ #729 ] Correctly handle urls with empty abs_path in it when issue the websocket handshake
2012-11-12 15:29:02 +01:00
dantran
105f952f5d
Clean up maven-bungle-plugin warnings
2012-11-12 11:42:42 +01:00
dantran
e236f5b77d
[ #154 ] [ #727 ] Use maven-plugin-plugin to generate OSGi manifest
2012-11-12 09:15:36 +01:00
Trustin Lee
9ac522382a
Fix visibility warnings from the inspector.
2012-11-12 14:03:43 +09:00
Trustin Lee
a05064d3eb
Fix more inspection warnings + compilation errors
2012-11-12 13:25:00 +09:00
Trustin Lee
36c8eb02e8
Fix parameter namings + some more
2012-11-12 12:59:37 +09:00
Trustin Lee
6f2840193a
Fix inspection warnings related with JUnit usage
2012-11-12 12:45:06 +09:00
Trustin Lee
aedf8790c3
Fix various Javadoc issues / Do not use argN parameter names
2012-11-12 12:26:19 +09:00
Trustin Lee
ea4a0e3535
Prefer {@code ...} to <code>...</code> / Fix deprecation warnings
2012-11-12 11:51:23 +09:00
Trustin Lee
15642f2cd8
Do not call static methods via instances
2012-11-12 11:23:06 +09:00
Trustin Lee
9746bb2036
Make a member field final wherever possible
2012-11-12 09:43:55 +09:00
Trustin Lee
4dce19b814
Replace a variable with a constant wherever possible
2012-11-12 09:43:14 +09:00
Trustin Lee
aa7cd691df
Remove redundant 'else' branches.
2012-11-12 09:31:40 +09:00
Trustin Lee
91a61d7f43
Remove unnecessary qualifiers
2012-11-12 09:11:48 +09:00
Trustin Lee
61d872d6e2
Suppress false-positive inspection warnings /
2012-11-12 09:05:16 +09:00
Trustin Lee
a07fb94fe7
Prefer "str".equals(var) to var.equals("str") / Add proper null checks
2012-11-12 08:59:54 +09:00
Trustin Lee
b4f796c5e3
Use 'x' over "x" wherever possible / String.equals("") -> isEmpty()
2012-11-10 08:03:52 +09:00
Trustin Lee
05c416b674
Add 'static' modifier to the methods that don't need to be member methods
2012-11-10 07:54:33 +09:00
Trustin Lee
5a4b2ec07e
Replace keySet() + unnecessary map lookup with entrySet()
2012-11-10 07:36:42 +09:00
Trustin Lee
f77f13faf0
Make classes static wherever possible
2012-11-10 07:32:53 +09:00
Trustin Lee
9f2c1c4774
Use foreach loop wherever possible / Prefer String.contains() to indexOf() >= 0 / Prefer StringUtil.split() to String.split()
2012-11-10 07:24:54 +09:00
Trustin Lee
3f4b3314cc
DefaultHttpDataFactory.MINSIZE must be final
2012-11-10 07:11:31 +09:00
Trustin Lee
4e0f455e69
Remove methods overridden but identical with the super implementation / Make constructors of abstract classes protected rather than non-sense public
...
AbstractWrappedByteBuf.capacity(int) should raise a UnsupportedOperationException rather than ReadOnlyBufferException.
2012-11-10 07:10:30 +09:00
Trustin Lee
d6a0fe54fd
Remove unnecessary throws clauses for unchecked exceptions
2012-11-10 07:07:37 +09:00
Trustin Lee
0d0eb0abfb
Remove unused imports
2012-11-10 07:05:18 +09:00
Trustin Lee
23883d25ee
Remove various unnecessary qualifiers
2012-11-10 07:03:07 +09:00
Norman Maurer
211b4059b1
[ #719 ] Handle http requests without an absolute path the right way when encoding them, which is adding / to it
2012-11-09 20:09:07 +01:00
Trustin Lee
8ad50a3e9c
Remove recundant type casting
2012-11-10 02:13:15 +09:00
Trustin Lee
27dc582e2b
Fix a regression in HttpMessageDecoder due to a mistake during yak shaving
2012-11-10 01:55:33 +09:00
Trustin Lee
b8f5ef0423
Remove unnecessary null check before equals()
2012-11-10 01:34:39 +09:00
Trustin Lee
58ba0de659
Remove unnecessarily qualified static access
2012-11-10 01:32:21 +09:00
Trustin Lee
bbcb035246
Prefer isEmpty() over size() == 0 or length() == 0
2012-11-10 01:24:04 +09:00
Trustin Lee
957154c005
Remove redundant no-arg constructors
2012-11-10 01:08:18 +09:00
Trustin Lee
3d364c7f75
Enum should not have a non-final value
2012-11-10 00:53:37 +09:00
Trustin Lee
e21dc5925d
Replace dynamic regular expressions with precompiled Patterns or new StringUtil.split()
2012-11-10 00:41:22 +09:00
Trustin Lee
8842f8ef90
Add missing @Override annotation
2012-11-09 17:34:34 +09:00
Trustin Lee
2ab38d8685
Remove pointless bitwise expressions
2012-11-09 17:26:11 +09:00
Trustin Lee
994a8db8fc
Fix overly-strong type casts
2012-11-09 17:14:59 +09:00
Norman Maurer
90c0481ecf
[ #712 ] Fix parsing dates in the past bug in CookieDecoder
2012-11-08 09:38:32 +01:00
Norman Maurer
313f777491
[maven-release-plugin] prepare for next development iteration
2012-11-05 23:08:39 +01:00
Norman Maurer
57da8222a4
[maven-release-plugin] prepare release netty-4.0.0.Alpha7
2012-11-05 23:08:28 +01:00
Veebs
36ac52a4bd
Port http multipart package. See #709
2012-11-04 13:59:50 +01:00
Norman Maurer
0526e1cb06
[ #706 ] Fix SpdyHttpResponseStreamIdHandler which was ported incorrectly
2012-11-02 19:50:41 +01:00
Norman Maurer
87ba8cb4b0
[ #705 ] Fix SpdyOrHttpChooser
2012-11-02 17:58:19 +01:00
Jeff Pinner
be6ddb74aa
HTTP method should be case sensitive (RFC-2616 Sec. 5.1.1)
2012-11-01 22:52:23 -07:00
Cruz Julian Bishop
93d0226c03
Small checkstyle fixes
...
Netty can build again, now.
Signed-off-by: Cruz Julian Bishop <cruzjbishop@gmail.com>
2012-10-30 21:57:26 +10:00
Norman Maurer
4696fcde1f
[ #691 ] Correctly handle SpdyRstStreamFrame
2012-10-30 08:48:09 +01:00
Norman Maurer
e726ff63d9
Cleanup
2012-10-29 20:21:38 +01:00
Norman Maurer
87cc67306f
[maven-release-plugin] prepare for next development iteration
2012-10-28 18:41:25 +01:00
Norman Maurer
7315490fca
[maven-release-plugin] prepare release netty-4.0.0.Alpha6
2012-10-28 18:41:17 +01:00
Norman Maurer
afc687436a
Revert "[maven-release-plugin] prepare release netty-4.0.0.Alpha6"
...
This reverts commit 95de4db0f1
.
2012-10-28 18:36:15 +01:00
Norman Maurer
16eb4ec713
Revert "[maven-release-plugin] prepare for next development iteration"
...
This reverts commit e3e0776c20
.
2012-10-28 18:35:47 +01:00
Norman Maurer
e3e0776c20
[maven-release-plugin] prepare for next development iteration
2012-10-28 13:06:07 +01:00
Norman Maurer
95de4db0f1
[maven-release-plugin] prepare release netty-4.0.0.Alpha6
2012-10-28 13:05:59 +01:00
Trustin Lee
a6c4f651a7
[ #661 ] WebSocketClientHandshaker is broken.
...
- Remove HttpRequestEncoder after handshaking is complete
- Fix a bug in the WebSocket client example where it sends a frame even before handshake is complete
2012-10-16 14:40:39 -07:00
Norman Maurer
7eef61580e
No need to use a concurrent Queue with out new thread-model. See #626
2012-10-02 20:16:35 +02:00
Norman Maurer
09d9f46e58
Merge pull request #630 from ngocdaothanh/master
...
Add CORS headers
2012-10-01 21:49:38 -07:00
Norman Maurer
59cd054fe3
Merge SpdyOrHttpChooser and SpdyHttpResponseStreamIdHandler into master. See #626
2012-09-30 21:18:54 +02:00
Ngoc Dao
7751daf2a4
Add ACCESS_CONTROL_EXPOSE_HEADERS
2012-09-28 19:18:21 +09:00
Trustin Lee
820af50b63
[maven-release-plugin] prepare for next development iteration
2012-09-28 17:57:40 +09:00
Trustin Lee
595e1067c7
[maven-release-plugin] prepare release netty-4.0.0.Alpha5
2012-09-28 17:57:04 +09:00
Ngoc Dao
f5e94d27e0
Add CORS headers
...
http://en.wikipedia.org/wiki/Cross-origin_resource_sharing
https://developer.mozilla.org/en-US/docs/HTTP_access_control
2012-09-28 17:19:50 +09:00
Trustin Lee
94838ee274
[ #441 ] Provide a better way to handle decoder failures
...
* Rename isPartial() to isPartialFailure()
* Add isCompleteFailure() and isFailure()
2012-09-28 15:46:17 +09:00
Trustin Lee
623956b838
[ #441 ] Provide a better way to handle decoder failures
...
* Make HttpChunkAggregator handle DecoderResult properly
2012-09-28 15:26:38 +09:00
Trustin Lee
9155f58c64
Rename get/setDecodeResult() to get/setDecoderResult()
2012-09-28 15:20:02 +09:00
Trustin Lee
bf808b3486
Rename DecodeResult to DecoderResult
2012-09-28 15:19:08 +09:00
Trustin Lee
41e0ef2e9a
[ #441 ] Provide a better way to handle decoder failures
...
* Update toString() of all HttpObject implementations
* HttpMessageDecoder does not raise an exception but sets decoderResult property of the decoded message.
* HttpMessageDecoder discards inbound traffic once decoding fails, by adding a new state called BAD_MESSAGE.
* Add a test case that tests this behavior.
2012-09-28 15:16:29 +09:00
Trustin Lee
b923d0c51f
Use supertype HttpObject instead of HttpMessage + HttpChunk where possible
2012-09-28 14:00:07 +09:00
Trustin Lee
adebda1560
[ #441 ] Provide a better way to handle decoder failures
...
* Add DecodeResult that represents the result of decoding a message
* Add HttpObject which HttpMessage and HttpChunk extend.
** HttpObject has a property 'decodeResult'
2012-09-28 13:48:17 +09:00
Trustin Lee
2ecf26c8eb
Fix #525 Add CORS preflight headers to HttpHeaders.Names
2012-09-27 19:16:02 +09:00
Trustin Lee
a156f67804
[ #624 ] Add varargs constructor to MessageToByteEncoder, MessageToMessage(Encoder|Decoder|Codec) to implement default isEncodable/isDecodable()
...
.. and modify all their subtypes to take advantage of this improvement.
2012-09-23 17:01:31 +09:00
norman
3295145e88
[maven-release-plugin] prepare for next development iteration
2012-09-13 10:40:52 +02:00
norman
42685759de
[maven-release-plugin] prepare release netty-4.0.0.Alpha4
2012-09-13 10:40:44 +02:00
norman
8ab1ef1432
Fix checkstyle
2012-09-10 12:10:24 +02:00
norman
0233a3dd63
Close the channel after the response was written to the client on a WebSocketHandshakeException. See #587
2012-09-10 07:22:35 +02:00
norman
6c2053bae5
Check if WebSocketServerProtocolHandshakeHandler is already in the pipeline before adding it. See #587
2012-09-10 07:18:26 +02:00
norman
6e39192462
Rename WebSocketServerHandshakeHandler to WebSocketServerProtocolHnadshakeHandler and also make it public. See #587
2012-09-10 07:15:59 +02:00
Norman Maurer
4353aa6794
Use Secure websockets if SslHandler is present in the ChannelPipeline. See #587
2012-09-09 19:48:53 +02:00
Norman Maurer
bd557a6330
Remove not necessary try / catch block. See #587
2012-09-09 19:35:56 +02:00
Jeff Smick
416c026efe
Upgrade client connection after completed response
2012-09-09 08:54:46 -07:00
Daniel Bevenius
150e8b4105
WebSocket enhancements
...
- Refactoring and adding suggestions from Norman and Vibul.
2012-09-09 08:30:40 +02:00
Norman Maurer
c6436ad470
Also move the replacement of the decoder to the ChannelFutureListener for the websocket upgrade. See #586
2012-09-09 08:21:32 +02:00
Jeff Smick
90d15c4627
Upgrade connection after completed response
...
Channel handlers above the HttpEncoder may delay the repsonse being
written to the socket. We need to wait for the response to complete
before upgrading the pipeline.
2012-09-08 20:54:43 -07:00
Trustin Lee
f2538a996d
[maven-release-plugin] prepare for next development iteration
2012-08-30 16:47:52 +09:00
Trustin Lee
628c5598b3
[maven-release-plugin] prepare release netty-4.0.0.Alpha3
2012-08-30 16:46:58 +09:00
Trustin Lee
73720c422d
[maven-release-plugin] prepare for next development iteration
2012-08-21 15:41:04 +09:00
Trustin Lee
68bef8cb99
[maven-release-plugin] prepare release netty-4.0.0.Alpha2
2012-08-21 15:40:45 +09:00
Trustin Lee
0a43350c66
[maven-release-plugin] prepare for next development iteration
2012-08-21 14:41:45 +09:00