11370 Commits

Author SHA1 Message Date
Simone Bordet
8c21871cf0 478021 - Client sending Connection: close does not shutdown output.
Fixed behavior of HttpGenerator to change its persistent also for
requests.

Reworked HttpSenderOverHTTP to send headers via IteratingCallback, so
that multiple generation steps can be made to produce SHUTDOWN_OUT.
2015-09-23 22:23:37 +02:00
Simone Bordet
f063df4200 Make this exception extend RuntimeException, not Throwable. 2015-09-23 22:23:37 +02:00
Simone Bordet
0b381fc31f Fixed test. 2015-09-23 22:23:37 +02:00
Simone Bordet
ff97796ab2 Using ServerConnector instead of NetworkConnector to improve ease of use. 2015-09-23 22:23:37 +02:00
Simone Bordet
667606ac60 Removed System.out calls. 2015-09-23 22:23:37 +02:00
Joakim Erdfelt
3901fcbb60 474936 - WebSocketSessions are not always cleaned out from openSessions
+ Adding additional testcase to verify behavior
2015-09-22 14:54:18 -07:00
Simone Bordet
da3699dc55 Merged branch 'jetty-9.2.x' into 'master'. 2015-09-21 16:32:58 +02:00
Simone Bordet
77fdfb8754 Updated ALPN version for JDK 8u60. 2015-09-21 16:19:48 +02:00
Simone Bordet
fde718a3ad Added tests to verify behavior in case of server closing (or not) the
connection in presence of a Connection: close header.
2015-09-21 11:34:57 +02:00
Simone Bordet
b78fee10f5 Refactored to made it easier to use by subclasses. 2015-09-21 10:17:27 +02:00
Simone Bordet
460673f04b 477890 - Overwhelmed HTTP/2 server discards data.
HttpInput was using a bounded ArrayQueue with max capacity 64.
The queue was overflowing if there were more than 64 reads within the
flow control window capacity.

Fixed by replacing the ArrayQueue with ArrayDeque, which is unbounded.
2015-09-21 09:34:15 +02:00
Simone Bordet
f833f36c64 Cosmetics. 2015-09-21 09:34:15 +02:00
Greg Wilkins
f708f79b13 477817 Fixed memory leak in QueuedThreadPool
Conflicts:
	jetty-util/src/main/java/org/eclipse/jetty/util/thread/QueuedThreadPool.java
2015-09-21 11:42:08 +10:00
Greg Wilkins
3c4eb5c4f6 477817 Fixed memory leak in QueuedThreadPool
Conflicts:
	jetty-util/src/main/java/org/eclipse/jetty/util/thread/QueuedThreadPool.java
2015-09-21 11:39:29 +10:00
Simone Bordet
d0bc20385a 477885 - Jetty HTTP2 client fails to connect with Netty server - HTTP2 client preface missing or corrupt.
Fixed by starting to read from the server only after having sent the
client preface.
2015-09-20 16:55:22 +02:00
Greg Wilkins
269ac1a44e 477737 Improve handling of etags with dynamic and static gzip
Fixed spin on --gzip etag
2015-09-18 14:54:07 +10:00
Greg Wilkins
67aee72bdd 477680 Encode merged query parameters 2015-09-18 13:19:00 +10:00
Greg Wilkins
99f4ed7352 477737 Improve handling of etags with dynamic and static gzip 2015-09-18 12:30:02 +10:00
Joakim Erdfelt
d39677a635 477757 - Null args in TypeUtil .call & .construct result in confusing exceptions
+ Not allowing null class references
+ Allowing null argument lists
2015-09-17 17:05:27 -07:00
Simone Bordet
014d021618 Removed unnecessary test condition. 2015-09-18 01:46:46 +02:00
Simone Bordet
866edf68a9 Replaced string literal with the proper constant. 2015-09-18 01:46:46 +02:00
Greg Wilkins
2d88fdf386 477278 Refactored DefaultServlet for cached Gzip & Etags
Refactored the DefaultServlet to better handle static gzipped files with etags in the cache.
Required a simplification of always having a HttpContent rather than the prior situation of
having either a Resource or a HttpContent.  So introduced a HttpContent.Factory, of which
the ResourceCache is the normal implementation, but there is also now a ResourceContentFactory
that creates content when there is no cache.

The Gzip resource is now associated with the normal resource, so less lookups are needed.
This also give scope for caching dynamic gzipping in the future.

The GzipHttpContent class has been introduced to send content with the headers of the
uncompress, but content of the compressed resource.
2015-09-17 18:19:58 +10:00
Jan Bartel
03a601f2b2 477385 Make jetty osgi manifests only resolve jetty packages against a single distro version 2015-09-16 19:13:47 +10:00
Simone Bordet
b36b2a9458 477385 - Problem in MANIFEST.MF with version 9.2.10 / 9.2.13.
Reintroduced class SpinLock, for compatibility sake when working with
mixed versions of Jetty.
2015-09-15 10:08:05 +02:00
Simone Bordet
edce119c0e 477270 - Add ability to send a single PRIORITY frame.
Also fixed the mistake of sending the stream id as the parent stream id.
2015-09-14 11:51:19 +02:00
Simone Bordet
dbd66b131b Introduced a HeadersFrame constructor for HEADERS frames with
unspecified stream id, to be used when creating new frames.
2015-09-14 11:51:19 +02:00
Simone Bordet
30532786cc Improved logging. 2015-09-14 11:51:19 +02:00
Greg Wilkins
361c27244a Merge branch 'master' of ssh://git.eclipse.org/gitroot/jetty/org.eclipse.jetty.project 2015-09-11 12:11:33 +10:00
Greg Wilkins
02c5ea30be 477123 - AsyncListener callbacks need context scope
Also added DebugListener and deprecated DebugHandler
2015-09-11 12:06:23 +10:00
Simone Bordet
f2a3bd8f05 477087 - Enforce that the preface contains a SETTINGS frame.
Now the ServerParser enforces that the preface bytes are followed by
a SETTINGS frame.
2015-09-10 19:04:47 +02:00
Joakim Erdfelt
7957ed06ef jetty-test-helper to 3.1, removing snapshot repo references 2015-09-09 16:01:57 -07:00
Joakim Erdfelt
f2cf574035 Removing JsrBasicRemote.sendText() info message 2015-09-09 16:01:57 -07:00
Jan Bartel
35b7ef8aaa Comment out demonstration config for jsp precompilation in test-jetty-webapp. 2015-09-09 16:10:05 +10:00
Greg Wilkins
85f138270e Added debug for not found classloading 2015-09-04 09:39:52 +10:00
Joakim Erdfelt
e2205d2365 Correcting version 2015-09-03 10:45:23 -07:00
Jesse McConnell
cb4cd620d5 set for dev 2015-09-03 12:39:19 -05:00
Joakim Erdfelt
49c927974b Javadoc fix 2015-09-02 09:26:12 -07:00
Simone Bordet
b23c2bd309 476170 - Support servers that close connections without sending Connection: close header.
Removed previous implementation in favor of a customized
ConnectionPool, that gives more flexibility on the actual logic to
validate connections.
2015-09-01 15:44:30 +02:00
Simone Bordet
60136c6825 Using Queue rather than BlockingQueue in method return types. 2015-09-01 15:30:42 +02:00
Jesse McConnell
20ffd0dd0b Merge branch 'release-9.3.3' 2015-08-31 13:41:21 -05:00
Simone Bordet
4ba2b22da7 476170 - Support servers that close connections without sending Connection: close header.
Adding support for validating the connection only in the HTTP/1.1
transport.
2015-08-30 18:09:54 +02:00
Simone Bordet
7211d415f9 Updated test to run even when not connected to the network. 2015-08-30 18:09:53 +02:00
Joakim Erdfelt
6fad345161 475209 - WebSocketServerFactory should not hand null object to DecoratedObjectFactory 2015-08-27 15:36:57 -07:00
Joakim Erdfelt
5312f2c0d7 Merge branch 'jetty-9.2.x'
Conflicts:
	jetty-util/src/main/java/org/eclipse/jetty/util/BufferUtil.java
	jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/WebSocketSession.java
2015-08-27 15:34:45 -07:00
Joakim Erdfelt
25cfffbe1e 428474 - Expose batch mode in the Jetty WebSocket API 2015-08-27 14:53:21 -07:00
Joakim Erdfelt
11b5d320f8 472082 - isOpen returns true on CLOSING Connection
+ Minor tweak to test for isOutputAvailable() instead of connection
  state.
2015-08-27 12:52:52 -07:00
Joakim Erdfelt
ef067b2624 476023 - Incorrect trimming of WebSocket close reason
+ Fixed CloseStatus.trimMaxReasonLength() to perform trim correctly
+ Deprecated CloseStatus.trimMaxReasonLength() because it creates
  to many objects
+ Removed use of CloseStatus.trimMaxReasonLength() in implementation
  code
+ Improved CloseInfo ...
  + tracks reason via utf8 byte array (not String object)
  + trims utf8 byte array as-needed
+ All non-jsr implementations use CloseInfo logic
2015-08-27 11:12:51 -07:00
Joakim Erdfelt
54e3d0a2e8 476049 - When using WebSocket Session.close() there should be no status code or reason sent 2015-08-27 09:33:44 -07:00
Joakim Erdfelt
9c855bee76 474936 - WebSocketSessions are not always cleaned out from openSessions
+ Adding testcase
+ Enabling Connection.onClose() -> ioState.onDisconnected()

Conflicts:
	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/WebSocketCloseTest.java
2015-08-27 09:33:28 -07:00
Joakim Erdfelt
cb0852c53c 476049 - When using WebSocket Session.close() there should be no status code or reason sent 2015-08-27 09:27:28 -07:00