Trustin Lee
e278b57489
Added a test for oversized HTTP responses
2014-02-20 11:46:41 -08:00
Trustin Lee
fcc41a62bd
Overall clean-up of HttpObjectAggregator / Handle oversized response differently
...
- Related: #2211
2014-02-20 11:36:56 -08:00
Chris Mowforth
91376263d7
Expose a callback in HttpObjectAggregator to handle oversized messages
...
- Related: #2211
2014-02-20 11:36:56 -08:00
Trustin Lee
ddb6e3672c
Fix a bug where HttpObjectAggregator doesn't always produce FullHttpMessage
...
- Fixes #2182
- Always convert an unfull invalid message to a full message
2014-02-19 15:31:53 -08:00
Trustin Lee
396a81c811
Ensure that the last bad chunk is LastHttpChunk
2014-02-19 15:19:35 -08:00
Trustin Lee
b1f27d9aa8
HttpObjectDecoder.invalidChunk() should return LastHttpChunk
...
because the decoder will enter 'BAD_MESSAGE' state and will not produce any chunk since then.
2014-02-19 14:59:18 -08:00
Trustin Lee
99beb188c4
Fix inefficient loop in QueryStringDecoder.decodeComponent()
...
- Fixes #2228
- There's no point of looping until the end of the component if at least one '%' or '+' is found.
2014-02-14 13:26:43 -08:00
Trustin Lee
abcb39b638
Do not use String.format() for log message generation
...
- It's slow.
2014-02-13 19:31:17 -08:00
Trustin Lee
7e1db4feb7
Deprecate CombinedChannelDuplexHandler in favor of ChannelHandlerAppender
...
- Fixes #2233
2014-02-13 19:20:25 -08:00
Trustin Lee
ac70dc4546
Update the version to 4.1.0.Alpha1-SNAPSHOT
2014-02-13 18:32:26 -08:00
Trustin Lee
5226f75cfa
Clean up HttpObjectAggregator
2014-02-13 18:25:15 -08:00
Trustin Lee
8837afddf8
Enable a user specify an arbitrary information with ReferenceCounted.touch()
...
- Related: #2163
- Add ResourceLeakHint to allow a user to provide a meaningful information about the leak when touching it
- DefaultChannelHandlerContext now implements ResourceLeakHint to tell where the message is going.
- Cleaner resource leak report by excluding noisy stack trace elements
2014-02-13 18:16:25 -08:00
Trustin Lee
45e70d9935
Add ReferenceCounted.touch() / Add missing retain() overrides
...
- Fixes #2163
- Inspector warnings
2014-02-13 18:10:11 -08:00
Trustin Lee
77d1f97b57
Add an HTML5 encoder mode for HttpPostRequestEncoder
...
- backported from 709be30442
by @igstan
2014-02-13 17:55:07 -08:00
Trustin Lee
4b0634b06a
Revive the deleted methods in HttpDataFactory and deprecate them
2014-02-13 17:48:13 -08:00
Michael Nitschinger
574480e332
Rename HttpDataFactory.*datas to *data. Fixes #2094
2014-02-13 17:45:36 -08:00
Trustin Lee
df346a023b
Change the return type of EmbeddedChannel.read*() from Object to an ad-hoc type parameter
...
.. so that there's no need to explicitly down-cast.
Fixes #2067
2014-02-13 17:19:26 -08:00
Frederic Bregier
9bd44a1d7c
Add support for 'charset' property for multipart boundaries
...
- Fixes #2004
2014-02-13 17:12:59 -08:00
Trustin Lee
bea2acdf12
Allow specifying a custom charset for a multipart Attribute
...
- Fixed #2025
- Adapted from @BabyDuncan's pull request: #2031
- Overall ugliness clean-up
2014-02-13 16:55:22 -08:00
Norman Maurer
f6ffc5c1c7
[ #1682 ] HttpVersion.valueOf(...) should not convert to uppercase
2014-02-13 16:36:36 -08:00
Daniel Bevenius
fa33529ca5
Adding check for zero readable bytes in WebSocket08FrameDecoder decode.
2014-02-13 15:49:44 -08:00
Trustin Lee
a327a25a6c
Use StringUtil.simpleClassName(..) instead of Class.getSimpleName() where necessary
...
- Class.getSimpleName() doesn't render anonymous classes very well
- + some minor cleanup
2014-02-13 15:37:16 -08:00
Trustin Lee
a5f33f4020
Fix some inspector warnings
2014-02-13 15:25:09 -08:00
fredericBregier
651c7b056a
Split HttpPostRequestDecoder into HttpPostStandardRequestDecoder and HttpPostMultipartRequestDecoder / Add HttpData.maxSize
...
- Related issues: #1937 #1938 and #1946
- Add InterfaceHttpPostRequestDecoder and Make HttpPostRequestDecoder implement it
- HttpPostRequestDecoder actually delegates itself to HttpPostStandardRequestDecoder or HttpPostMultipartRequestDecoder
- Remove IncompatibleDataDecoderException because it's not thrown anywhere now
2014-02-13 15:24:45 -08:00
Trustin Lee
499033d44f
Add a shortcut method for collision-free naming
2014-02-13 15:17:09 -08:00
Norman Maurer
60acd54c7e
[ #1876 ] Make use of proper state machine in WebSocket08FrameDecoder for performance reasons
2014-02-13 14:34:34 -08:00
Norman Maurer
85ab9b5982
[ #1710 ] Add missing duplicate() overrides in interfaces
2014-02-13 13:57:28 -08:00
Norman Maurer
084db044cd
[ #2219 ] Fix javadocs of HttpObjectAggregator to show correct handler order in pipeline
2014-02-09 17:10:09 +01:00
Trustin Lee
060eed9e80
Prefer interface to implementation in type declaration
...
This fixes the build failure with JDK 8 due to animal sniffer error
2014-02-08 08:50:27 -08:00
Daniel Bevenius
2e064ee87f
Fixing spelling of 'request' for handler names.
2014-02-07 13:50:39 +01:00
Trustin Lee
2598223d0e
Fix resource leaks in WebSocketServerProtocol(Handshake)Handler
...
- Related: #1975
2014-02-06 21:22:01 -08:00
Norman Maurer
dddfb149a5
[ #2173 ] Fix regression that let HttpRequestDecoder fail if the websocket response and a websocketframe are send in one go
2014-02-06 10:34:05 +01:00
Norman Maurer
407e12d99b
Not throw an exception if subprotocol is not supported but just drop the header as stated in the RFC's
2014-01-26 11:01:00 +01:00
Trustin Lee
6b790f1868
Fix a compilation error
2014-01-24 20:07:33 +09:00
Trustin Lee
bea7039c3e
Add a log message on deletion failure
2014-01-24 16:45:48 +09:00
Frederic Bregier
2249437225
Fix fileChannel not closed, preventing delete to occur correctly
2014-01-24 16:45:48 +09:00
Norman Maurer
d67184b488
[maven-release-plugin] prepare for next development iteration
2014-01-21 08:18:32 +01:00
Norman Maurer
287515210d
[maven-release-plugin] prepare release netty-4.0.15.Final
2014-01-21 08:18:26 +01:00
Frederic Bregier
da5da8e212
Fix try to delete file while it does not exist anymore (see #2102 and #1713 ) in reference to this issue
2014-01-21 14:17:34 +09:00
Trustin Lee
149c7e82a2
Add HttpPostrequestEncoderTest by @igstan
2014-01-19 22:22:08 +09:00
Trustin Lee
95bcbe5e08
Backport the HttpPostRequestEncoder fixes by @igstan
2014-01-19 22:21:24 +09:00
Trustin Lee
f3482670f9
Fix IllegalReferenceCountException which occurs when multipart data is stored in memory
...
- Fixes #2102
2014-01-19 17:50:48 +09:00
Trustin Lee
2389c71e81
Fix resource leak in InternalAttribute.setValue()
2014-01-19 16:53:43 +09:00
Trustin Lee
9b38e8778c
Prettify / Saner initial capacity
2014-01-19 15:09:41 +09:00
Norman Maurer
faf8becf2e
Make use of ByteBufProcessor for extract initial line and headers
...
This gives some nice performance boost as readByte() is quite expensive because of the index / replay checks.
2014-01-16 20:14:08 +01:00
Stephane Landelle
8930709940
+= won't let compile optimize String concats
2014-01-16 20:10:07 +01:00
Daniel Bevenius
75b0360867
Adding a Cross Origin Resource Sharing (CORS) handler.
2014-01-16 08:18:16 +01:00
Norman Maurer
437a9403b0
Fix inspector warnings
2014-01-15 17:18:19 +01:00
Veebs
2df690b0e4
Add HttpChunkedInput for easier streaming of chunked content
2014-01-15 17:18:19 +01:00
Trustin Lee
f66be21ee3
Use the source frame's allocator instead of the unpooled allocator
2014-01-14 14:22:37 +09:00
Trustin Lee
febc53daaa
Port the changes in SpdyHeaderBlockRawDecoder to master & 4.0
...
Somehow it slipped away.
2014-01-13 23:08:07 +09:00
Trustin Lee
b8de47484a
Port the changes in SpdyHeaderBlockZlibEncoder to master & 4.0
...
Somehow it slipped away.
2014-01-13 23:00:41 +09:00
Trustin Lee
cead74f84d
Fix checkstyle
2014-01-13 22:57:34 +09:00
Trustin Lee
06cbac922a
Fix a bug where SpdyHeaderBlockZlibDecoder fails to decompress
...
- Forward-port 4c35b593c1
, originally written by @wgallagher
- Fixes #2077
2014-01-13 22:42:24 +09:00
Veebs
1326ba54ee
Replaced deprecated 'sendUnsupportedWebSocketVersionResponse()' with 'sendUnsupportedVersionResponse()'
2014-01-13 06:33:57 +01:00
Norman Maurer
eca5613534
Cleanup and remove get prefix of method to be more inline with our API
2014-01-11 14:21:29 +01:00
Leonardo Freitas Gomes
3ce35c710a
Improves SelectedProtocol enum to avoid boilerplate on subclasses
...
NPN server providers return a String version of the negotiated protocol
and the getProtocolByName method allows to easily get an instance of
the SelectedProtocol enum and avoid the need for a switch statement in
each subclass to match the String against the enum value.
2014-01-11 14:21:13 +01:00
Trustin Lee
8d431679d7
Fix a compilation error
2014-01-10 16:36:48 +09:00
Trustin Lee
b24494abeb
Fix a bug where HttpObjectDecoder produces LastHttpContent after entering BAD_MESSAGE state
...
- Fixes #2103
- Added LastHttpContent.EMPTY_LAST_CONTENT.toString() for athestic reasons.
2014-01-10 16:17:08 +09:00
Norman Maurer
b9bbded84e
[ #2090 ] Correctly format DefaultHttpRequest#toString()
2014-01-06 17:34:46 +01:00
Norman Maurer
7d90c5b756
[ #2088 ] Introduce sendUnsupportedVersionResponse(...) methods which allows to use the ChannelFuture/ChannelPromise to get notified once the response was send.
...
Also mark the old method as deprecated.
2014-01-03 11:11:08 +01:00
Trustin Lee
e83d2e0b4e
[maven-release-plugin] prepare for next development iteration
2013-12-22 21:57:48 +09:00
Trustin Lee
cdb700c7a4
[maven-release-plugin] prepare release netty-4.0.14.Final
2013-12-22 21:57:40 +09:00
Trustin Lee
0b7aedb13b
[maven-release-plugin] rollback the release of netty-4.0.14.Final
2013-12-22 21:53:24 +09:00
Trustin Lee
4bf6ec7171
[maven-release-plugin] prepare release netty-4.0.14.Final
2013-12-22 21:52:56 +09:00
Trustin Lee
9c1a49c58e
[maven-release-plugin] rollback the release of netty-4.0.14.Final
2013-12-22 21:47:35 +09:00
Trustin Lee
008a049bf4
[maven-release-plugin] prepare for next development iteration
2013-12-22 21:43:55 +09:00
Trustin Lee
f6cb9088c6
[maven-release-plugin] prepare release netty-4.0.14.Final
2013-12-22 21:43:45 +09:00
Trustin Lee
dd49b1cfac
Use LinkedHashSet for HttpHeaders.names() and add Javadoc about the performance of names() and entries()
2013-12-22 19:17:27 +09:00
Trustin Lee
47d0a85720
Fix a leak in HttpResponseDecoderTest
2013-12-19 01:13:30 +09:00
Norman Maurer
0052d83db1
Limit the access of the HttpHeaders for performance reasons
2013-12-18 15:13:11 +01:00
Trustin Lee
e9f09ea9f5
Stop decoding after protocol upgrade / Do not use singleDecode option
2013-12-18 15:13:04 +01:00
Trustin Lee
0f76b3c357
Remove unnecessary code from HttpObjectDecoder and re-enable all HTTP tests
...
- Since Netty 4, HTTP decoder does not generate a full message at all. Therefore, there's no need to keep separate states for the content smaller than maxChunkSize.
- maxChunkSize must be greater than 0. Setting it to 0 should not disable chunked encoding. We have a dedicated flag for that.
- Uncommented the tests that were commented out for an unknown reason, with some fixes.
- Added more tests for HTTP decoder.
- Removed the Ignore annotation on some tests.
2013-12-18 15:12:55 +01:00
Trustin Lee
2b09d92c37
Improve the unit test for #1742
2013-12-16 21:55:59 +09:00
Trustin Lee
3444c06654
Fix a bug where HttpObjectAggregator fails to send a '100 Continue' response
...
- Fixes #1742
2013-12-16 21:44:44 +09:00
Jeff Pinner
c3891a3df4
SPDY: add SETTINGS_MINOR_VERSION
2013-12-16 14:21:07 +09:00
Jeff Pinner
6447777ac2
SPDY: code cleanup
2013-12-16 14:19:33 +09:00
Jeff Pinner
db59b38db3
SPDY: remove SPDY/2 support
2013-12-16 14:18:01 +09:00
Trustin Lee
49587791b7
Fix a compilation error
2013-12-16 14:17:47 +09:00
Bill Gallagher
c1704039f0
bring back entries()
2013-12-16 14:13:43 +09:00
Bill Gallagher
e6eb7fa466
minor gc optimization: better DefaultSpdyHeaders.iterator()
2013-12-16 14:13:23 +09:00
Jeff Pinner
39ae2dd3f1
SPDY: add SPDY/3.1 support
...
- with Michael Schore <mschore@twitter.com>
2013-12-16 14:11:52 +09:00
Norman Maurer
e965318398
Optimize encoding of websocket frames by merge if possible
2013-12-13 11:44:22 +01:00
Trustin Lee
3812b897e6
Fix buffer leak in AbstractMemoryHttpData
2013-12-07 11:14:08 +09:00
Norman Maurer
b3d8c81557
Fix all leaks reported during tests
...
- One notable leak is from WebSocketFrameAggregator
- All other leaks are from tests
2013-12-07 00:44:56 +09:00
Norman Maurer
05c10fae05
Replace usage of StringBuilder by AppendableCharSequence for performance reasons
2013-12-03 12:04:07 +01:00
Norman Maurer
17f5865e38
[maven-release-plugin] prepare for next development iteration
2013-11-29 19:31:01 +01:00
Norman Maurer
ead617fdcc
[maven-release-plugin] prepare release netty-4.0.14.Beta1
2013-11-29 19:30:55 +01:00
Norman Maurer
818bc602ee
Remove the use of ThreadLocal for performance reasons
2013-11-29 17:43:12 +01:00
Norman Maurer
6cf2748dbb
[maven-release-plugin] prepare for next development iteration
2013-11-28 15:04:51 +01:00
Norman Maurer
5fe7596f49
[maven-release-plugin] prepare release netty-4.0.13.Final
2013-11-28 15:04:46 +01:00
Norman Maurer
0918f3edb2
Fix test
2013-11-28 13:49:39 +01:00
Norman Maurer
3dace666a3
Merge buffers for performance reasons if possible when encode http requests/responses.
2013-11-28 13:48:00 +01:00
Norman Maurer
7f57c5ed05
Backport HTTP encoding / decoding optimizations which were introduced by #2007 .
...
The backport is partly done to keep backward compatibility
2013-11-28 10:46:27 +01:00
Trustin Lee
14327706a3
Add test case for HttpHeaders.equalsIgnoreCase(...)
2013-11-28 18:24:22 +09:00
Trustin Lee
313365cd5c
Fix NPE raised by HttpHeaders.equalsIgnoreCases() when one of its arguments is null
2013-11-28 15:51:48 +09:00
Trustin Lee
407f0a36f5
Simplify bundle generation / Add io.netty.versions.properties to all JARs
...
- Fixes #2003 properly
- Instead of using 'bundle' packaging, use 'jar' packaging. This is
more robust because some strict build tools fail to retrieve the
artifacts from a Maven repository unless their packaging is not 'jar'.
- All artifacts now contain META-INF/io.netty.version.properties, which
provides the detailed information about the build and repository.
- Removed OSGi testsuite temporarily because it gives false errors
during split package test and examination.
- Add io.netty.util.Version for easy retrieval of version information
2013-11-26 22:01:46 +09:00
Norman Maurer
8753412d07
[ #2006 ] Correctly handle HttpMessage / HttpContent implementations
2013-11-26 10:57:24 +01:00
Norman Maurer
04e8d25792
[ #2005 ] Allow to use HttpContentDecompressor in strict mode
2013-11-26 08:22:01 +01:00
Norman Maurer
fd4435e6e3
Respect validateHeaders when duplicate/copy the response/request
2013-11-26 08:09:14 +01:00