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
Trustin Lee
56211fee59
[maven-release-plugin] prepare release netty-4.0.0.Alpha2
2012-08-21 14:39:59 +09:00
Trustin Lee
a0e34fd93a
[maven-release-plugin] prepare for next development iteration
2012-08-21 14:13:38 +09:00
Trustin Lee
72ccf65093
[maven-release-plugin] prepare release netty-4.0.0.Alpha2
2012-08-21 14:13:17 +09:00
Trustin Lee
a43f686d64
[ #527 ] Add Javadoc for HttpTransferEncoding
2012-08-21 14:05:04 +09:00
Trustin Lee
ec2b29f0b6
[ #539 ] Potential direct memory leak in HttpContentEn/Decoder
2012-08-20 13:38:14 +09:00
Trustin Lee
10f26f3205
[ #539 ] Potential direct memory leak in HttpContentEn/Decoder
2012-08-20 12:18:39 +09:00
Trustin Lee
7f3f792017
Fix a bug where CookieDecoder sets the default maxAge to -1
...
.. which should be Long.MIN_VALUE
2012-08-20 12:05:47 +09:00
Trustin Lee
b7ac3edf02
Add static modifier where static member is just enough.
2012-08-19 19:12:32 +09:00
Trustin Lee
602f976e41
[ #527 ] Add a new property to HttpMessage to help clarify its transfer encoding
...
- Add an enum: HttpTransferEncoding
- consists of SINGLE, STREAMED, and CHUNKED
- Add HttpMessage.transferEncoding
- replaces is/setChunked()
2012-08-19 19:06:47 +09:00
Norman Maurer
c22b559dfa
Set maxAge to Integer.MIN_VALUE by default. See #534
2012-08-19 11:55:15 +03:00
Norman Maurer
e80abf0b39
Update codec-http/src/main/java/io/netty/handler/codec/http/DefaultCookie.java
...
Allow to set a negative value for maxAge of DefaultCookie. See #533
2012-08-19 11:48:51 +03:00
Trustin Lee
0a99a33540
Use String.getBytes(Charset) wherever possible
2012-08-17 11:43:59 +09:00
Trustin Lee
de37d75871
[ #521 ] Encode URI using UTF-8 charset
...
- Forwardport @jpinner's pull request #522
- Use Charset instead of charset name
2012-08-17 11:39:36 +09:00
Trustin Lee
00d6010916
[ #494 ] Automatically adding chunked encoding header breaks streaming
...
Add a missing statement dropped while forwardporting
2012-08-17 11:34:35 +09:00
Trustin Lee
e530ccaeb8
Fix typo
2012-08-17 11:31:40 +09:00
Trustin Lee
0baf359202
[ #494 ] Automatically adding chunked encoding header breaks streaming
...
Forwardport @jamestyrrell's pull request
2012-08-17 11:30:08 +09:00
Jeff Pinner
d3d52edb31
SPDY: introduce SpdyControlFrame tag interface
2012-08-14 18:00:39 -07:00
Jeff Pinner
a0d9bed8f9
SPDY: remove deprecated data compressed flag
2012-08-14 17:58:22 -07:00
norman
ba1c7c5c55
Replace usage of QueueFactory with ConcurrentLinkedQueue and LinkedBlockingQueue. See #477
2012-07-30 08:01:46 +02:00
norman
bdde5a20f6
Allow to set Expires attribute
...
to a date in theast. See #479
2012-07-30 07:44:53 +02:00
Trustin Lee
8d813b127c
Replace free() with reference counting / Fix SlicedByteBuf.unsafe()
...
- based on @normanmaurer's feed back
- Added Unpooled.compositeBuffer(int)
2012-07-20 12:33:17 +09:00
Trustin Lee
5a613f379e
Make ByteBuf dynamic / Introduce an interface for composite buffers
...
- Replace ByteBufferBackedByteBuf with DirectByteBuf
- Make DirectByteBuf and HeapByteBuf dynamic
- Remove DynamicByteBuf
- Replace Unpooled.dynamicBuffer() with Unpooled.buffer() and
directBuffer()
- Remove ByteBufFactory (will be replaced with ByteBufPool later)
- Add ByteBuf.Unsafe (might change in the future)
2012-07-19 20:25:47 +09:00
Trustin Lee
250b40ec3b
Fix typo in test samples
2012-07-19 20:25:47 +09:00
Frédéric Brégier
e36c4c77bf
fix header to out
2012-07-18 11:50:28 +03:00
Frédéric Brégier
56a72c6456
writesBytes as in V3 instead of writeInt (RFC says 0 to 4 bytes)
2012-07-18 11:46:56 +03:00
Frédéric Brégier
92334b919e
Fix for issue #456 related to payload using 2 differents RANDOM while only one should be used
2012-07-18 11:43:36 +03:00
Trustin Lee
d801459cb8
[maven-release-plugin] prepare for next development iteration
2012-07-10 23:11:33 +09:00
Trustin Lee
527f2f6c6e
[maven-release-plugin] prepare release netty-4.0.0.Alpha1
2012-07-10 23:10:48 +09:00
Trustin Lee
e157ea1a66
Allow a user use any type as a ReplayingDecoder state / AIO cleanup
...
- Removed VoidEnum because a user can now specify Void instead
- AIO: Prefer discardReadBytes to clear
- AIO: Fixed a potential bug where notifyFlushFutures() is not called
if flush() was requested with no outbound data
2012-07-09 20:40:43 +09:00
Trustin Lee
9af7512c35
Use String.CASE_INSENSITIVE_ORDER instead of custom Comparator
2012-07-07 13:30:28 +09:00
norman
a7a4081e70
Fix checkstyle
2012-07-04 15:27:10 +02:00
norman
1784283d29
Correctly format cookies. This fix some bug which lead to expiring of cookies to not work. See #426
2012-07-04 15:20:47 +02:00
norman
61a7c78a53
Port fix for #433
2012-07-04 15:14:05 +02:00
norman
ac4dacd84f
Minimize byte copies by using a CompositeByteBuf to concat the chunks. See #413
2012-07-03 10:37:11 +02:00
Norman Maurer
c35f90f920
Port enhancement to reduce memory copy if possible. See #412
2012-06-29 13:26:13 +02:00
Norman Maurer
cd95dc5924
Merge pull request #422 from Massive-Dynamics/http-doc
...
Even more documentation changes (mainly) - HTTP
2012-06-29 02:55:20 -07:00
Cruz Julian Bishop
3792693468
Changed "Gets the" to "Returns the" - Requested by @trustin
2012-06-29 19:25:31 +10:00
Cruz Julian Bishop
f3fff2d3e8
Documentation redone for Cookie
2012-06-29 18:59:12 +10:00
Cruz Julian Bishop
26ed1a9972
Documentation and slight internal refactoring of HttpCodecUtil
2012-06-29 17:03:47 +10:00
Norman Maurer
d0c8c10681
Merge pull request #420 from Massive-Dynamics/fix-failed-javadoc
...
Fixes a bit of javadoc that was broken by a failed merge
2012-06-28 23:51:05 -07:00
Cruz Julian Bishop
4d5e4c3433
Make HttpResponse's javadoc a bit easier to read
2012-06-29 16:39:39 +10:00
Cruz Julian Bishop
a818cad45a
Make HttpRequest's documentation easier to read
2012-06-29 16:37:40 +10:00
Cruz Julian Bishop
59bb92171b
Made the documentation in HttpMessage a bit easier to understand
2012-06-29 16:33:14 +10:00
Cruz Julian Bishop
9f9b36f579
Redid documentation for WebSocketUtil
2012-06-29 15:12:59 +10:00
Cruz Julian Bishop
be57cf3b51
Fixes a bit of javadoc that was broken by a failed merge
2012-06-29 15:03:41 +10:00
Norman Maurer
2610a94de9
Fix SpdyHttpHeaders.setScheme setting the wrong header. See #417
2012-06-28 13:36:21 +02:00
Trustin Lee
90d9febbc0
Add more cookie decoding test case
2012-06-27 12:41:37 +09:00
Trustin Lee
a5d35f89d2
Add missing license headers
2012-06-26 17:33:05 +09:00
Trustin Lee
3b945bca78
Remove a method of no use
2012-06-26 05:30:07 +09:00
Trustin Lee
6d2f6d697d
Make CookieEncoder and CookieDecoder stateless
...
- Also: CookieEncoder is split into ServerCookieEncoder and
ClientCookieEncoder
2012-06-26 05:26:54 +09:00
Trustin Lee
7b2992a95a
Fix #218 : CookieDecoder.decode() throws StackOverflowError
...
- Rewrote key-value decoder not using a regular expression
2012-06-24 18:07:47 +09:00
Trustin Lee
ee8091f6fb
Fix #397 : Allow all cookie names that conform to the RFC
...
- Lenient flag is not needed anymore
2012-06-24 14:17:13 +09:00
Trustin Lee
0eb7a42c69
Fix test failures
2012-06-24 13:42:05 +09:00
Trustin Lee
a6e3d7d0ca
Fix #405 : CookieEncoder should refuse to encode more than one cookie
...
.. if on server mode
2012-06-24 12:59:44 +09:00
Trustin Lee
9ec51d01d6
Add ChannelMetadata and remove unnecessary disconnect() impls
...
- Add Channel.metadata() and remove Channel.bufferType()
- DefaultPipeline automatically redirects disconnect() request to
close() if the channel has no disconnect operation
- Remove unnecessary disconnect() implementations
2012-06-19 10:39:30 +09:00
Trustin Lee
1f69e664fb
Forward-port JDK ZlibEncoder patch ( #404 )
...
- Rename ZlibEncoder/Decoder to JZlibEncoder/Decoder
- Define a new ZlibEncoder/Decoder class
- Add JdkZlibEncoder
- All JZlib* and JdkZlib* extends ZlibEncoder/Decoder
- Add ZlibCodecFactory and use it everywhere
2012-06-19 09:54:25 +09:00
Trustin Lee
91fe9f4b38
serverID -> serverId ( #393 Ensure all fields follow naming convention)
2012-06-12 21:20:27 +09:00
Trustin Lee
a35aeb8cd9
StreamID -> StreamId ( #393 Ensure all fields follow naming convention)
2012-06-12 21:06:45 +09:00
Trustin Lee
9bf0ad8329
ID -> Id ( #393 Ensure all fields follow our naming convention)
2012-06-12 20:29:06 +09:00
Trustin Lee
60de50d89e
ID -> Id ( #393 Ensure all fields follow our naming convention)
2012-06-12 20:25:21 +09:00
Trustin Lee
154198a385
ID -> Id ( #393 Ensure all fields follow our naming convention)
2012-06-12 20:20:24 +09:00
Trustin Lee
676b81a4cd
getPersist(ed) -> isPersist(ed) ( #393 )
2012-06-12 20:05:12 +09:00
Trustin Lee
fdb66b6294
Add 'is' prefix to boolean getters if their meaning is ambiguous
...
- plus minor code cleanup
- ID -> Id or id
2012-06-12 17:58:22 +09:00
Trustin Lee
ecd0ae5406
Prefer MessageBuf over Queue where possible
...
- Also replaced thread safe queues with non-thread-safe ones where
possible
- Unpooled.wrappedBuffer(Queue<T>) does not wrap MessageBuf anymore
2012-06-12 17:02:00 +09:00
Trustin Lee
e1faea035e
Automatic clean-up with Eclipse
...
- Mostly import organization & whitespace removal
2012-06-11 23:04:04 +09:00
Trustin Lee
6211e53e86
Code clean-up based on IntelliJ code analysis
2012-06-11 22:54:28 +09:00
Trustin Lee
754392aaa9
Add ByteBuf.order(ByteOrder) method to simplify little endian access
...
- Removed all methods that requires ByteOrder as a parameter
from Unpooled (formerly ByteBufs/ChannelBuffers)
- Instead, a user calls order(ByteOrder) to get a little endian
version of the user's buffer
- This gives less overwhelming number of methods in Unpooled.
2012-06-11 20:24:44 +09:00
Trustin Lee
876847fd20
Merge MessageBufs and ByteBufs into Unpooled
...
- e.g. Unpooled.messageBuffer()
- It will make much more sense once we introduce pooling:
- i.e. Pooled.buffer()
2012-06-11 17:02:29 +09:00
Trustin Lee
7d36f936c8
Fix failing tests
2012-06-11 11:35:07 +09:00
Trustin Lee
574d84e98e
Remove ChannelBufferHolder / Add more handler interfaces for type safety
...
- ChannelInboundHandler and ChannelOutboundHandler does not have a type
parameter anymore.
- User should implement ChannelInboundMessageHandler or
ChannelOutboundMessageHandler.
2012-06-10 12:22:32 +09:00
Trustin Lee
a849d11877
ChannelBuffers -> ByteBufs / Add MessageBuf & ChannelBuf
...
- Add MessageBuf which replaces java.util.Queue
- Add ChannelBuf which is common type of ByteBuf and ChannelBuf
- ChannelBuffers was renamed to ByteBufs
- Add MessageBufs
- All these changes are going to replace ChannelBufferHolder.
2012-06-10 11:31:39 +09:00
Trustin Lee
5164d91255
Rename ChannelBuffer to ByteBuf as discussed before
...
- ChannelBuffer gives a perception that it's a buffer of a
channel, but channel's buffer is now a byte buffer or a message
buffer. Therefore letting it be as is is going to be confusing.
2012-06-10 11:08:43 +09:00
Trustin Lee
e376888d48
Replace 'Stream' with 'Byte'
...
- In computing, 'stream' means both byte stream and message stream,
which is confusing.
- Also, we were already mixing stream and byte in some places and
it's better use the terms consistently.
(e.g. inboundByteBuffer & inbound stream)
2012-06-09 21:05:59 +09:00
Trustin Lee
468a3228a4
Fit every line into 120 columns
2012-06-08 19:28:12 +09:00
Trustin Lee
748de5ea83
Fix a compilation error
2012-06-08 10:02:44 +09:00
Trustin Lee
92cbe6f980
Support long Expires dates and commas in cookie values ( #96 )
...
- Contribution by @valodzka
2012-06-08 09:25:39 +09:00
Trustin Lee
4a23c2a6eb
Fix checkstyle errors
2012-06-07 22:01:59 +09:00
Trustin Lee
10f7a31908
Fixed SpdySessionHandlerTest / Fixed NPE in EmbeddedChannel
...
- Some tests like SpdySessionHandlerTest accesses outbound buffer
even before the outbound buffer is initialized by
AbstractEmbeddedChannel's subclasses, leading to NPE at <init>.
To fix this problem, subclasses now pass the outbound buffer as
a constructor parameter to AbstractEmbeddedChannel.
2012-06-07 21:33:31 +09:00
Trustin Lee
994038975a
Port HttpContentEncoder/Decoder to use EmbeddedStreamChannel / Cleanup
...
- Removed unused constructor parameter in AbstractChannel
- Re-enabled GZIP encoding in HTTP snoop example
2012-06-07 21:06:56 +09:00
Trustin Lee
8701e24b9a
Add back Channel(Inbound|Outbound)(Message|Stream)HandlerAdapter
...
- they are useful when creating an anonymous class
- Also added back CombinedChannelHandler with extra constraints
2012-06-07 17:49:45 +09:00
Trustin Lee
ea0c9cfe79
Post-overhaul fixes / Split LoggingHandler into three
...
- LoggingHandler now only logs state and operations
- StreamLoggingHandler and MessageLoggingHandler log the buffer content
- Added ChannelOperationHandlerAdapter
- Used by WriteTimeoutHandler
2012-06-07 16:56:21 +09:00
Trustin Lee
5e93d206ff
Overhaul - Split ChannelHandler & Merge ChannelHandlerContext
...
- Extracted some handler methods from ChannelInboundHandler into
ChannelStateHandler
- Extracted some handler methods from ChannelOutboundHandler into
ChannelOperationHandler
- Moved exceptionCaught and userEventTriggered are now in
ChannelHandler
- Channel(Inbound|Outbound)HandlerContext is merged into
ChannelHandlerContext
- ChannelHandlerContext adds direct access methods for inboud and
outbound buffers
- The use of ChannelBufferHolder is minimal now.
- Before: inbound().byteBuffer()
- After: inboundByteBuffer()
- Simpler and better performance
- Bypass buffer types were removed because it just does not work at all
with the thread model.
- All handlers that uses a bypass buffer are broken. Will fix soon.
- CombinedHandlerAdapter does not make sense anymore either because
there are four handler interfaces to consider and often the two
handlers will implement the same handler interface such as
ChannelStateHandler. Thinking of better ways to provide this feature
2012-06-07 14:52:33 +09:00
Trustin Lee
3def2e6598
Fix more checkstyle errors
2012-06-07 09:19:14 +09:00
Frédéric Brégier
c2e3d305b4
Merge pull request #381 from fredericBregier/master
...
Improve HTTP message streaming in decoder same as #380
2012-06-05 10:05:34 -07:00
Frédéric Brégier
06e754eb81
Improve HTTP message streaming in decoder, in Master same as #380 submitted fix
2012-06-05 19:56:01 +03:00
Trustin Lee
1eced1e9e3
Update license headers
2012-06-04 13:31:44 -07:00
Trustin Lee
361cb417e0
Move SPDY echo tests to testsuite to use AbstractSocketTest
...
- Moved MIN_VERSION and MAX_VERSION to SpdyConstants to allow public
access
- Removed the tests that are not necessary anymore.
2012-06-03 04:47:05 -07:00
Trustin Lee
f991a8c7d4
Fix a bug where DefaultChannelPipeline.write() doesn't find the buffer
...
- Also fixed failures in SpdySessionHandlerTest
2012-06-03 04:10:32 -07:00
Trustin Lee
3e0cbf0caa
Fix HttpClientCodecTest.testFailsOnMissingResponse()
...
- AbstractCodecEmbedder does not throw an exception immediately anymore.
It stores the caught exceptions in the product queue and throws them
on pool() or peek().
2012-06-03 03:32:30 -07:00
Trustin Lee
3b2c25e8ed
Rename (Server)Bootstrap.(child)initializer to (child)handler
...
- The handler you specify with initializer() is actually simply added
to the pipeline and that's all. It's ChannelInitializer which does
additional work. For example, a user can specify just a single
handler with initializer() and it will still work. This is especially
common for Bootstrap, so I renamed initializer to handler, which makes
more sense.
2012-06-03 01:00:16 -07:00
Trustin Lee
cc4c98d7ba
Fix #378 again
...
- @jroper's fix did not work, so I just fixed it again.
2012-06-02 23:05:20 -07:00
James Roper
e8a74c8ad0
Fixing #378 , when path or domain are null in both this and that, equals and compareTo return false even when the cookies are equal.
2012-06-03 01:04:23 +03:00
Trustin Lee
45f19d02ff
Remove the codecs and handlers that can't make it on time for 4.0.0.A1
...
- Removed ones are: IP filer and HTTP multipart codec
- Needs closer code review and polishing
- Sorry. I'll add them back in the next alpha releases
- SSL handler and ChunkedWriteHandler also need more work, but
I really want to make them part of the first alpha because they
are used pretty often by users.
2012-06-02 01:38:10 -07:00
Trustin Lee
cc4f705029
Replace ChannelBuffer.toByteBuffer() with hasNioBuffer() and nioBuffer()
...
... just like we do with byte arrays. toByteBuffer() and
toByteBuffers() had an indeterministic behavior and thus it could not
tell when the returned NIO buffer is shared or not. nioBuffer() always
returns a view buffer of the Netty buffer. The only case where
hasNioBuffer() returns false and nioBuffer() fails is the
CompositeChannelBuffer, which is not very commonly used and *slow*.
2012-06-02 01:30:55 -07:00
Trustin Lee
141a05c831
Strict thread model / Allow assign an executor to a handler
...
- Add EventExecutor and make EventLoop extend it
- Add SingleThreadEventExecutor and MultithreadEventExecutor
- Add EventExecutor's default implementation
- Fixed an API design problem where there is no way to get non-bypass
buffer of desired type
2012-06-01 17:51:19 -07:00
Trustin Lee
77274ae743
Automated code clean-up
2012-05-31 12:03:01 -07:00
Trustin Lee
734d452be2
Apply missing changes in the branch '3'
2012-05-31 11:50:08 -07:00
Trustin Lee
0cd766df30
Move HTTP multipart classes to its own package / Clean-up
...
- Move CaseIgnoringComparable to netty-common
- Add HttpConstants
2012-05-31 11:32:42 -07:00
Trustin Lee
197f31c90e
Test all supported SPDY session management
2012-05-31 02:06:53 -07:00
Trustin Lee
a494f201fc
Call setHandshakeComplete() before the handler replacement ( #332 )
...
- Contributed by @normanmaurer
2012-05-31 02:02:02 -07:00
Trustin Lee
7ac89ace4f
Finished forward-porting SPDY codec
2012-05-31 01:53:58 -07:00
Trustin Lee
131eef2c51
Forward-porting SPDY codec
2012-05-31 00:37:27 -07:00
Trustin Lee
d7a198a60f
Zap marshalling and spdy codec to forwardport again
2012-05-30 23:14:18 -07:00
Trustin Lee
743596aaea
Fix a bug where first websocket frame is discarded ( #332 )
2012-05-30 19:18:08 -07:00
Trustin Lee
a5a76131e6
Fix checkstyle errors
2012-05-30 19:09:23 -07:00
vibul
4fc089829d
Fixed bug where subprotocol not sent by client
...
Conflicts:
codec-http/src/main/java/io/netty/handler/codec/http/websocketx/WebSocketClientHandshaker.java
codec-http/src/main/java/io/netty/handler/codec/http/websocketx/WebSocketClientHandshaker08.java
codec-http/src/main/java/io/netty/handler/codec/http/websocketx/WebSocketClientHandshaker13.java
codec-http/src/main/java/io/netty/handler/codec/http/websocketx/WebSocketServerHandshaker.java
2012-05-30 19:07:44 -07:00
Frédéric Brégier
a73e6ea581
typo fix ! Sorry
2012-05-30 17:39:03 -07:00
Frédéric Brégier
a91e72403c
Very small fix (readUnsigned while in optimized version it was signed but should be unsigned)
2012-05-30 17:37:41 -07:00
Trustin Lee
d6cedb008b
Reduce the cost of throwing a SeekAheadNoBackArrayException
2012-05-30 17:37:12 -07:00
Frédéric Brégier
f799c9f215
Add Exception to the exception class name
2012-05-30 17:31:40 -07:00
Frédéric Brégier
b8ab8828c0
Add Exception to name of the Exception ;-)
2012-05-30 17:31:21 -07:00
Frédéric Brégier
ac39f39f36
Update codec-http/src/main/java/io/netty/handler/codec/http/HttpPostRequestDecoder.java
2012-05-30 17:31:03 -07:00
Frédéric Brégier
5d2bf43b59
Optimize Buffer access while decoding by going through backend array when possible (divide by almost 2 the time spent in decoding)
2012-05-30 17:30:47 -07:00
Frédéric Brégier
759d0633a4
Add the SeekAheadOptimize class to enable faster seek of bytes values in HttpPostRequestDecoder
2012-05-30 17:30:36 -07:00
Trustin Lee
e8bc276ddd
Fix in addContent when switching from MemoryAttribute if it is done when
...
last buffer added, in order to not close immediately the underlying
file before adding the last buffer.
- Contribution by @fredericBregier
2012-05-30 17:28:51 -07:00
Trustin Lee
dba9a6d408
Close channel when needed / Call force() only when necessary
...
- Contribution by @fredericBregier
2012-05-30 17:26:41 -07:00
Trustin Lee
92f010d688
Use int instead of long for maxFramePayloadLength
2012-05-30 17:21:51 -07:00
Trustin Lee
67ee22e23a
Add max frame length for web socket to limit chance of DOS attack ( #283 )
...
- Contributed by @veebs
2012-05-30 17:13:00 -07:00
Trustin Lee
ec43aa121f
Case-insensitive matching for Upgrade and Connection header ( #278 )
2012-05-30 16:43:04 -07:00
Trustin Lee
42abb6df3a
QueueFactory cleanup
...
- Really attempt to create a queue to determine LTQ can be initialized
in runtime, and cache the result
- Remove unnecessary Class<T> parameter in createQueue()
- Remove unused createQueue(Collection)
2012-05-30 16:19:22 -07:00
Trustin Lee
c7004ed142
Use Sec-WebSocket-Origin instead of Origin ( #264 )
...
- Contributed by @normanmaurer
2012-05-30 16:04:34 -07:00
Trustin Lee
367895f660
Add port to Origin if the port is non default (80/443). ( #262 )
2012-05-30 16:00:40 -07:00
Trustin Lee
7e94632d41
Add port to 'Origin' if the port is non default (80/443) ( #262 )
...
- Contributed by @normanmaurer
2012-05-30 15:57:39 -07:00
Trustin Lee
5e896cf0b3
Add a note that explain the behavior of CookieEncoder ( #94 )
...
- Contributed by @normanmaurer
2012-05-30 15:53:20 -07:00
Trustin Lee
8eda2280b3
Add test for HttpClientCodec missing response handling ( #256 , #259 )
...
- Contributed by @normanmaurer
2012-05-30 15:48:57 -07:00
Trustin Lee
922cec1f9b
Add an option to tell a user if there was a missing response ( #256 )
...
- Contributed by @normanmaurer
2012-05-30 15:37:01 -07:00
Trustin Lee
a9948d681e
Throw NoSuchBufferException instead of returning null
...
- Exception in this case makes a user less confusing
- To reduce the overhead of filling the stack trace,
NoSuchBufferException has a public pre-constructed instance.
- This is necessary because codec framework sometimes need to support
both type of outbound buffers.
- Fixed a bug where SpdyFrameEncoder did not handle ping messages
- Reduced memory copy in codec embedder (EmbeddedChannel)
2012-05-29 17:25:09 -07:00
Trustin Lee
8237afff64
Ported most examples
...
- Renamed ChannelBootstrap to Bootstrap
- Renamed ServerChannelBootstrap to ServerBootstrap
- Moved bootstrap classes to io.netty.bootstrap as before
- Moved unfoldAndAdd() to a separate utility class
- Fixed a bug in unfoldAndAdd() where it did not handle ChannelBuffer
correctly
2012-05-29 16:41:26 -07:00
Trustin Lee
b10cf29393
Add isDecodable/isEncodable() to codecs to support stacked codecs
2012-05-29 13:34:01 -07:00
Trustin Lee
026715e818
Refactor the pipeline API to support stacked codecs
...
- Previous API did not support the pipeline which contains multiple
MessageToStreamEncoders because there was no way to find the closest
outbound byte buffer. Now you always get the correct buffer even if
the handler that provides the buffer is placed distantly.
For example:
Channel -> MsgAEncoder -> MsgBEncoder -> MsgCEncoder
Msg(A|B|C)Encoder will all have access to the channel's outbound
byte buffer. Previously, it was simply impossible.
- Improved ChannelBufferHolder.toString()
2012-05-29 12:09:29 -07:00
Trustin Lee
a1bdf671f1
Simplified EventLoop implementation names
...
- Also
- Fixed a test failure
- Fixed compiler warnings related with ChannelInitializer type
parameters
2012-05-25 15:51:22 -07:00
Trustin Lee
f60f918763
Fixed all SPDY echo tests / Handle closed old I/O channels correctly
2012-05-25 14:24:25 -07:00
Trustin Lee
debaa6a72a
Fix resource management
2012-05-23 11:45:30 -07:00
Trustin Lee
c883b61503
Ported codec-http to the new API
...
- Added ChannelBufferHolders.catchAllBuffer()
- Relaxed UnsupportedMessageTypeException constructor signature
- EmbeddedChannel now uses the catchAllBuffer
- ChanelInboundMessageHandlerAdapter.messageReceive() throws Exception
- Added ChannelInboundStreamHandlerAdapter
2012-05-23 11:42:10 -07:00
Trustin Lee
af37ec4f23
Ported the HTTP snoop example to the new API
...
- Replaced pipeline factories with initializers
- Ported essential parts related with HTTP to the new API
- Replaced ChannelHandlerAdapter.combine() with CombinedChannelHandler
- Fixed a bug where ReplayingDecoder does not notify the next handler
- Fixed a bug where ReplayingDecoder calls wrong callDecode() method
- Added a destination buffer as an argument to AbstractChannel.doRead()
for easier implementation
- Fixed a bug where NioSocketChannel did not try to increase the inbound
buffer size (moved the logic to AbstractChannel)
2012-05-20 14:19:11 +09:00
Trustin Lee
251a18160c
Move VoidEnum to util
2012-05-18 14:34:42 +09:00
Trustin Lee
1bf0dfe64a
Retrofit ReplayingDecoder with the new API
...
- Moved up to 'codec' from 'codec.replay'
- Test passes with Redis client codec
2012-05-17 12:37:37 +09:00
Trustin Lee
92a688e5b2
Retrofit the codec framework with the new API (in progress)
...
- Replaced FrameDecoder and OneToOne(Encoder|Decoder) with:
- (Stream|Message)To(String|Message)(Encoder|Decoder)
- Moved the classes in 'codec.frame' up to 'codec'
- Fixed some bugs found while running unit tests
2012-05-16 23:02:06 +09:00
Trustin Lee
368156f5d0
Another round of the new API design
...
- Channel now creates a ChannelPipeline by itself
I find no reason to allow a user to use one's own pipeline
implementation since I saw nobody does except for the cases where a
user wants to add a user attribute to a channel, which is now covered
by AttributeMap.
- Removed ChannelEvent and its subtypes because they are replaced by
direct method invocation.
- Replaced ChannelSink with Channel.unsafe()
- Various getter renaming (e.g. Channel.getId() -> Channel.id())
- Added ChannelHandlerInvoker interface
- Implemented AbstractChannel and AbstractServerChannel
- Some other changes I don't remember
2012-05-01 17:19:41 +09:00
vibul
91dc8efd4b
Issue #250 . Implement web socket close frame status code and reason text.
2012-04-10 08:15:24 +02:00
Trustin Lee
fd0b0a4e2b
Code cleanup
2012-03-30 12:48:28 +09:00
Norman Maurer
60d9364604
First round of remove the boss-thread. See #240
2012-03-28 20:19:39 +02:00
Norman Maurer
0082a15899
Fix javadocs warnings
2012-03-26 19:50:39 +03:00
Norman Maurer
2766133a4d
Fix javadocs warnings
2012-03-26 19:50:01 +03:00
Norman Maurer
32ff810b64
Correctly handle Hixie 76 websocket handshake response. See #222
2012-03-21 19:00:32 +01:00
norman
e8ddc3cf00
remove unnecessary check. See #222
2012-03-20 15:44:59 +01:00
norman
8d9f78c84d
Correctly handle responses with return code of 1xx. See #222
2012-03-20 15:40:34 +01:00
Norman Maurer
cb931bfb92
Correctly handle HTTP Patch. See #227
2012-03-11 11:54:54 +01:00
Trustin Lee
279d859c7e
Issue #220 - Treat content as non-empty on 101 Web Socket upgrade response
2012-03-09 11:07:26 +09:00
norman
92a907c4d7
Merge branch 'master' of github.com:netty/netty
2012-03-08 08:09:17 +01:00
norman
09b41b28ea
Correctly handle earlier versions of websockets. See #222
2012-03-08 08:08:36 +01:00
Norman Maurer
30ef214677
Make sure ...Decompressor.end() is called even on Exception. See #224
2012-03-07 21:14:48 +01:00
Trustin Lee
70e0eba894
Replace SpdyHeaderBlockJZlibDecompressor with java.util.zip.Inflater-based one
...
It should be fine because the Inflater-based one uses only JDK 1.5 API
2012-03-07 20:09:05 +09:00
Trustin Lee
2109fdedb6
Fix cherry-pick where git was not very smart
2012-03-07 20:07:12 +09:00
Jeff Pinner
304eee1db4
SPDY: use java.util.zip for header block decompressor
2012-03-07 20:05:25 +09:00
Trustin Lee
cf02ad2a1e
Add DetectionUtil which replaces UnsafeDetectUtil / Improve SpdyHeaderBlockJZlibDecompressor
2012-03-07 19:54:44 +09:00
Trustin Lee
efe27dbce5
Rename SPDY header block (de)compressor classes
2012-03-02 10:43:04 -08:00
norman
5291560283
Remove left-over of refactoring. See #211
2012-03-02 08:03:20 +01:00
norman
8eec693883
Remove twitter license headers. See #202
2012-03-02 07:46:56 +01:00
norman
985fc448dc
Remove unused imports
2012-03-02 07:38:05 +01:00
norman
469cb8b80b
Remove Twitter license. See #202
2012-03-02 07:37:43 +01:00
Trustin Lee
b22ebbe430
Make #211 work with Java 5
...
* Use java.util.zip.Deflater only when running under Java 7
2012-03-01 15:52:57 -08:00
Jeff Pinner
5aae8279b9
SPDY: use jdk 1.7 java.util.zip instead of jzlib
2012-03-01 15:41:08 -08:00
Trustin Lee
4c67a24860
Fix #202 - Remove Twitter license
...
Twitter signed CCLA today.
2012-03-01 14:02:30 -08:00
Dennis Boldt
b3cc305578
Organized imports.
2012-02-21 03:06:26 +01:00
Jestan Nirojan
7dbb8d2b8f
fixed checkstyle build failures
2012-02-19 12:38:39 +05:30
Jestan Nirojan
20d7379c53
merge upstream master
2012-02-19 12:37:50 +05:30
norman
c46b083c1f
Correctly decode URI in QueryStringDecoder. See #189
2012-02-15 08:30:22 +01:00
Jestan Nirojan
a298398630
added test timeout for SPDY echo test
2012-02-11 23:04:25 +05:30
Norman Maurer
9b563c8a28
SPDY Protocol HTTP Layer. See #184
2012-02-11 12:52:56 +01:00
Trustin Lee
dd27cd510a
Use getHeader() instead of getHeaders()
2012-02-07 18:13:13 +09:00
Trustin Lee
3b31daf8a3
Fix missing copyright headers
2012-02-07 17:26:55 +09:00
Norman Maurer
bad9e83121
Merge pull request #177 from cgbystrom/websocketx-chunkaggregator-fix
...
Don't require HttpChunkAggregator to be present in pipeline for WS. See #177
2012-02-04 08:37:29 -08:00
Norman Maurer
58e6bec3b1
Merge SPDY support from 3.2 branch. See #176
2012-02-04 17:31:53 +01:00
Carl Byström
f7a4a646f8
Don't require HttpChunkAggregator to be present in pipeline for Web Sockets.
2012-02-04 16:59:04 +01:00
Norman Maurer
6689063eef
HttpMessageEncoder should add Header "Transfer-Encoding: chunked"
...
if HttpMessage.isChunked(). See #171
2012-02-02 15:24:30 +01:00
Trustin Lee
1f6e96ed15
Forward-port the pull request #172 to fix #164
2012-02-02 16:10:28 +09:00
Trustin Lee
cd69bd4e2c
Backport the pull request #174 to fix #163
2012-02-02 15:52:06 +09:00
Trustin Lee
c1aa8b4c7b
Clean up the new WebSocket package
2012-01-19 13:12:45 +09:00
Trustin Lee
b9b2366361
Fix checkstyle violations / Renaming RXTX -> Rxtx
2012-01-15 01:08:00 +09:00
Trustin Lee
303c1b5f79
Overall cleanup / Add lost old jzlib headers
2012-01-13 17:41:18 +09:00
Trustin Lee
ebfc4513e0
Apply checkstyle to the build
...
Please note that the build will fail at the moment due to various checkstyle
violations which should be fixed soon
2012-01-11 20:16:14 +09:00
Norman Maurer
999343e8cf
Fix possible JavaDoc error in QueryStringEncoder. Type mismatch. See
...
#139
2012-01-08 21:54:31 +01:00
Trustin Lee
521bf83d0f
Issue #141 : hashdos security vulnerability in QueryStringDecoder and possibly other components
...
* Limited maximum number of parameters to 1024 by default and made the
limitation configurable
* QueryStringDecoder is now able to handle an HTTP POST content
2011-12-30 17:58:51 +09:00
Trustin Lee
8663716d38
Issue #60 : Make the project multi-module
...
Split the project into the following modules:
* common
* buffer
* codec
* codec-http
* transport
* transport-*
* handler
* example
* testsuite (integration tests that involve 2+ modules)
* all (does nothing yet, but will make it generate netty.jar)
This commit also fixes the compilation errors with transport-sctp on
non-Linux systems. It will at least compile without complaints.
2011-12-28 19:44:04 +09:00