Commit Graph

9416 Commits

Author SHA1 Message Date
Simone Bordet 4bdca367dd 428232 - Rework batch mode / buffering in websocket.
Refactored FrameFlusher to handle aggregation of frames to support
JSR 356's batch mode.

Now FrameFlusher can aggregate frames as long as the FlushMode they
were sent is AUTO. When a frame that has FlushMode SEND arrives,
it will trigger the flush of the aggregate buffer (and eventually
also other queued frames).
A special BINARY frame is used to implement explicit flush()
invocations.
2014-02-18 18:31:48 +01:00
Simone Bordet 8e5c06b95c 428232 - Rework batch mode / buffering in websocket.
Refactored OutgoingFrames.outgoingFrame() to take an additional
parameter, FlushMode. This is in preparation for handling this new
parameter in FrameFlusher.
2014-02-18 18:31:48 +01:00
Greg Wilkins f092561a8a 428383 limit white space between requests 2014-02-18 10:02:00 +11:00
Greg Wilkins 352a1303e0 424899 Initialize GzipHandler mimeTypes 2014-02-17 13:04:27 +11:00
Greg Wilkins abb70b3bca 427738 fixed XSS in async-rest demo 2014-02-17 13:03:33 +11:00
Greg Wilkins c12748a9e3 428238 Test HEAD request with async IO 2014-02-17 12:40:45 +11:00
Greg Wilkins 1f02dfc24f 428238 Test HEAD request with async IO 2014-02-17 12:32:28 +11:00
Greg Wilkins d83cb54db2 removed servlet-api-3.1.b08 dependency 2014-02-17 12:24:14 +11:00
Simone Bordet d2f1954fa0 427700 - Outgoing extensions that create multiple frames should flush
them in order and atomically.

Optimized CompressExtension to reduce data copying at minimum on the
write path.
2014-02-15 17:53:37 +01:00
Simone Bordet a8e4caca90 427700 - Outgoing extensions that create multiple frames should flush
them in order and atomically.

Removed unused code.
2014-02-15 17:53:23 +01:00
Simone Bordet a2a90c5c87 427700 - Outgoing extensions that create multiple frames should flush
them in order and atomically.

Modified FragmentExtension to use a Queue and IteratingCallback to
make sure that frames are iteratively fragmented.
The creation of the next fragment only happens when there is a callback
from the next outgoing layer.
2014-02-14 22:21:59 +01:00
Simone Bordet ad15b27a01 427700 - Outgoing extensions that create multiple frames should flush
them in order and atomically.

Refactored PerMessageDeflateExtension and DeflateFrameExtension
introducing superclass CompressExtension that factors in common
functionalities.
2014-02-14 22:21:59 +01:00
Simone Bordet 81b8990dec 427700 - Outgoing extensions that create multiple frames should flush
them in order and atomically.

Modified DeflateFrameExtension to use a Queue and IteratingCallback to
make sure that frames are iteratively compressed in chunks.
The compression of the next chunk only happen when there is a callback
from the next outgoing layer.
2014-02-14 22:21:59 +01:00
Simone Bordet 53b1ee9e47 427700 - Outgoing extensions that create multiple frames should flush
them in order and atomically.

Modified ExtensionStack to use a Queue and IteratingCallback to make
sure that messages are processed sequentially.
2014-02-14 22:21:59 +01:00
Jan Bartel 075e6a7363 428157 Methods of anonymous inner classes can't be called via xml 2014-02-14 16:03:29 +11:00
Jan Bartel b88724f23c 426490 HttpServletResponse.setBufferSize(0) results in tight loop (100% cpu hog) 2014-02-14 11:57:53 +11:00
Joakim Erdfelt cff7c9dbcb Cleaning up websocket connection open/close in favor of session open/close 2014-02-13 16:22:55 -07:00
Greg Wilkins 18e19260ff Apply changes resulting from the quickstart project 2014-02-13 12:31:14 +11:00
Joakim Erdfelt 1eb87fdddc Fixing jndi lock property key to include 'jetty' portion 2014-02-12 17:02:48 -07:00
Joakim Erdfelt e93097c09c Introducing JNDI deep binding optional behavior.
+ Adding "org.eclipse.jetty.jndi.deepBinding" to NamingContext as
  either an env setting or a System property to control deep binding
  behavior that is presently being used by OpenEJB
2014-02-12 17:02:47 -07:00
Joakim Erdfelt 30c5998d3c minor cleanup 2014-02-12 17:02:47 -07:00
Jesse McConnell 70fb1a98b7 Merge branch 'release-9' 2014-02-12 10:06:59 -06:00
Jesse McConnell eb0aea46ce set versions.txt file to new version and fix mistaken developmentVersion 2014-02-10 13:48:29 -06:00
Jesse McConnell f3d38dfb15 [maven-release-plugin] prepare for next development iteration 2014-02-10 11:17:14 -06:00
Jesse McConnell 8f6cbc9111 [maven-release-plugin] prepare release jetty-9.1.2.v20140210 2014-02-10 11:17:07 -06:00
Jesse McConnell 86f46c9ee4 Updating VERSION.txt top section 2014-02-10 10:48:14 -06:00
Jesse McConnell 206b2ebf35 Merge branch 'master' into release-9 2014-02-10 10:46:02 -06:00
Simone Bordet 51e8b83954 427699 - WebSocket upgrade response sends Sec-WebSocket-Protocol twice.
The problem was that UpgradeResponse was setting the subProtocol as a
header, and HandshakeRFC6455 was extracting it and *adding* it again.

Fixed by removing the code in HandshakeRFC6455.
2014-02-10 14:43:22 +01:00
Simone Bordet b37c68db3b 427690 - Remove Mux Extension and related support. 2014-02-10 13:10:58 +01:00
Simone Bordet 66a19bd646 Avoided to copy the frame payload if we happen to have it all
available.
2014-02-10 12:56:54 +01:00
Simone Bordet 18d2180cdc 427588 - WebSocket Parser leaks ByteBuffers.
Fixed by having the Parser release the payload ByteBuffer.
Also reworked WebSocketFrame.reset() method, and made sure
that outgoing frames also don't leak ByteBuffers.
2014-02-10 12:21:50 +01:00
Simone Bordet 95c728c12f Do not track null ByteBuffers that are being released. 2014-02-10 09:46:16 +01:00
Jan Bartel ec8dabfa5b Update realm.properties for test-spec-webapp for use with jetty-maven-plugin 2014-02-07 12:16:05 +11:00
Simone Bordet 21d938f12d 427587 - MessageInputStream must copy the payload.
Forgot to flip the buffer.
2014-02-06 22:39:02 +01:00
Simone Bordet cf37533d87 427587 - MessageInputStream must copy the payload. 2014-02-06 21:18:21 +01:00
Simone Bordet e2805b5b1b Using jetty-test-helper version 2.7. 2014-02-06 16:47:57 +01:00
Simone Bordet 1841b3ec87 427572 - Default number of acceptors too big.
Defaulted to 1+cores/16.
2014-02-06 16:47:57 +01:00
Jesse McConnell 4d4b0c42e7 [Bug 427570] externalize common http config to start.ini 2014-02-06 09:14:28 -06:00
Simone Bordet 9356ab46da Made test more robust.
The check for the connection being closed may fail spuriously because
the notification of CompleteListener happens before the connection is
closed.
2014-02-06 11:56:25 +01:00
Simone Bordet 5edf2799e9 Made test more robust.
The response may arrive on client before the server notifies the
complete listeners, so the assert on client side was spuriously
failing to check the completion on server side.
2014-02-06 11:27:22 +01:00
Jan Bartel 51aedd2393 426358 NPE generating temp dir name if no resourceBase or war 2014-02-06 12:06:47 +11:00
Jan Bartel c5c553260f 424171 Old javax.activation jar interferes with email sending 2014-02-06 10:31:35 +11:00
Simone Bordet 8e03498b0d Renamed NetworkTrafficSelectChannelConnector to
NetworkTrafficServerConnector and deprecated the old class.
2014-02-05 23:05:23 +01:00
Simone Bordet f147362915 427512 - ReadPendingException in case of HTTP Proxy tunnelling.
Fixed by marking the old HttpConnection as "soft closed", that is
make it so that isClosed() returns true but the underlying EndPoint
is not closed.
This allows the HttpReceiver to skip the registration for fill
interest, so that the ReadPendingException is not thrown.
2014-02-05 21:30:06 +01:00
Greg Wilkins 7725056234 426750 isReady() returns true at EOF 2014-02-05 17:34:22 +11:00
Jesse McConnell ba318ccbd3 [426003] active modules with missing dependencies fail accordingly, non-active with missing deps fail silently 2014-02-04 14:09:16 -06:00
Jan Bartel 4844508c5f 427245 StackOverflowError when session cannot be de-idled from disk 2014-02-04 19:25:34 +11:00
Simone Bordet 5d9360e343 427254 - Cookies are not sent to the client.
Introduced ServletUpgradeResponse.complete(), called when the response
is about to be sent to the client, to transfer the headers stored in
the superclass (UpgradeResponse.headers) into the HttpServletResponse.
2014-02-03 15:31:51 +01:00
Simone Bordet cfe248c67b 427128 - Cookies are not sent to the server.
Implemented/fixed handling of cookies sent by client to server.
2014-02-03 12:49:58 +01:00
Simone Bordet 5e3c8821bb If ClientContainer is being stopped, then we can unregister it from
the ShutdownThread.

This happens when ClientContainer is added as a managed bean to a
ContainerLifeCycle and the container is stopped.
2014-02-03 12:09:27 +01:00