Greg Wilkins
96f6f2bb8d
Fix #4461 HttpOutput Aggregation ( #4466 )
...
* Issue #4461 HttpOutput Aggregation
Added tests to check that aggregation continues after first flush of an aggregated buffer (this triggers both #4461 and the discovered bug of not aggregating because of empty at capacity aggregate buffer).
Added getAggregateSize method that does a compact to avoid empty at capacity aggregate buffer
Call onWriteComplete if residue of an overflow aggregation can itself be aggregated.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4461 HttpOutput Aggregation
Removed implicit compact from GzipHandler
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4461 HttpOutput Aggregation
Improve test coverage
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4461 HttpOutput Aggregation
Remove case that can never happen.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4461 HttpOutput Aggregation
updates from review
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2020-01-10 07:20:54 +11:00
Simone Bordet
5f82e17d2f
Issue #3578 - Adopt EPL-2.0 for Jetty-10.
...
WIP: updated copyright headers for Java files.
TODO: doc files and META-INF files inside jars.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-01-09 20:10:19 +01:00
Simone Bordet
a2ebb1dc8a
Merge pull request #4469 from eclipse/jetty-10.0.x-4459-move_multipart_to_server
...
Fixes #4459 - Move multipart classes to jetty-server.
2020-01-09 17:39:12 +01:00
Simone Bordet
a1f155b44a
Fixes #4460 - Provide a parameterless CustomRequestLog.
...
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-01-09 16:39:03 +01:00
Simone Bordet
4e2c3f1447
Fixes #4459 - Move multipart classes to jetty-server.
...
Moved multipart classes to jetty-server.
Updated jetty-http's pom.xml and module-info.java
removing the dependency on Servlet APIs.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-01-09 16:23:05 +01:00
Simone Bordet
a5c99207fc
Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'.
2020-01-07 17:02:40 +01:00
Simone Bordet
923ec38adf
Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'.
2020-01-07 16:51:25 +01:00
Simone Bordet
e3c8546667
Merged branch 'jetty-9.2.x' into 'jetty-9.3.x'.
2020-01-07 16:35:05 +01:00
Simone Bordet
de890bb1b7
Happy New Year 2020.
...
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-01-07 16:25:32 +01:00
Simone Bordet
8d2465c8ad
Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'.
2020-01-07 15:46:41 +01:00
Simone Bordet
aed5a4458c
Added forgotten @Deprecated annotation to deprecated method.
...
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-01-07 15:40:46 +01:00
Joakim Erdfelt
f4e7e4c3db
Merge branch 'release-9.4.25' into jetty-9.4.x
2020-01-03 12:49:27 -06:00
olivier lamy
ff48fba585
happy new year
...
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2020-01-02 21:59:21 +01:00
olivier lamy
e1371a1c13
happy new year
...
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2020-01-02 21:54:05 +01:00
Lachlan Roberts
c98897315c
Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-4225-jpms_transitivity
2019-12-27 19:27:59 +11:00
Joakim Erdfelt
8974176c4b
Updating to version 9.4.26-SNAPSHOT
2019-12-20 11:30:41 -06:00
Joakim Erdfelt
a9729c7e7f
Updating to version 9.4.25.v20191220
2019-12-20 10:46:56 -06:00
Joakim Erdfelt
3290b85e8f
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
2019-12-20 10:29:21 -06:00
Joakim Erdfelt
ccf04a47cd
Merge pull request #4375 from eclipse/jetty-9.4.x_small_improvment_jdbc
...
avoid non necessary objects allocation if session do not have any attributes data
2019-12-20 10:29:01 -06:00
Simone Bordet
99eae6b3ce
Issue #4225 - Fix JPMS transitivity.
...
Removed methods that were overridden to
workaround eclipse-ee4j/servlet-api#228
in servlet-api 4.0.2, but that are now
fixed in servlet-api 4.0.3.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-12-19 19:57:23 +01:00
Simone Bordet
e3bb5a7515
Issue #4225 - Fix JPMS transitivity.
...
Reworked all module-info.java files to take into
account JPMS transitivity.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-12-19 18:17:35 +01:00
Greg Wilkins
d971716e6d
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
...
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-12-19 12:33:28 +11:00
Greg Wilkins
c5acf96506
Jetty 9.4.x 4331 async close complete3 ( #4409 )
...
* Issue #4376 Async Content Complete
Added test harness to reproduce unready completing write.
Fixed test by not closing output prior to becoming READY
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Async Write Complete
Test harness to reproduce unready when closing/completing.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Async Write Complete
test both PENDING and UNREADY
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Async Write Complete
test cleanups
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Async Close Complete
Cleanups of write
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* WIP
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Close Complete
Work in progress
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Close Complete
Added async close to HttpWriter and ResponseWriter
Always use async close, with blocker if necessary.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Close Complete
Working async close complete!
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Close Complete
invert test as we can now call complete when not ready!
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Close Complete
fixed transition to ERROR state
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Close Complete
async close after onError
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Close Complete
minor cleanups
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Close Complete
Fix for proxy tests
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Close Complete
Fix write loop to handle clear of p=0,l=0 rather than p=l
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Close Complete
Removed old close on all content mechanism
Cleanups and some more TODOs
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Close Complete
a reworking of HttpOutput to separate out API state.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Close Complete
Soft close for Dispatcher
release buffer in onWriteComplete
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Close Complete
Set _onError in onWriteComplete
NOOP callback instead of null
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Close Complete
failure closes HttpOutput
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Close Complete
Moved closedCallback handling to onWriteComplete
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Close Complete
Additional test of complete during blocking write.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Close Complete
reimplemented blocking close to sometimes be async
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Close Complete
ascii "art"
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Close Complete
Code cleanup. Use a CLOSE state rather than non null closedCallback to be clearer that it is a state.
Renamed close(Callback) to complete(Callback)
Renamed and simplified closed() to completed()
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Close Complete
Do not dispatch
Better ascii art
improved close impl to be similar to complete
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Close Complete
More test cases
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Close Complete
retain execute behaviour in 9.4. review in 10.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Improved javadoc and ascii art
* Improved CLOSING
Switch to CLOSING state as soon as last write is done, even if several non last channelWrites will be done. This allows a subsequent call to close to know that nothing needs to be written and can avoid some EOF exceptions. Now onWriteComplete acts only on the passed in last parameter.
Added test for sendContent
* WIP
Aggregate within lock
pipeline test debug
* Avoid creating ignored exception when Idle or Failed.
* Try a parse without fill to avoid unconsumed input debug
* fixed pipeline size
* release buffer before callback
* turn off debug
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Close Complete
Better javadoc
refactored onWriteComplete logic to be simpler
fixed bug with flush of last written byte
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Close Complete
Completely reworked test harness for better coverage.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4331 Close Complete
Reworked order of ifs to match logic above in onWriteComplete
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-12-19 12:17:11 +11:00
Lachlan Roberts
aedcaac2e0
Fix flaky multipart tests in RequestTest
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-12-18 12:28:01 +11:00
Simone Bordet
b1e2f80017
Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'.
2019-12-17 13:41:15 +01:00
Simone Bordet
129a51c7a2
Fixes #4421 - HttpClient support for PROXY protocol. ( #4424 )
...
* Fixes #4421 - HttpClient support for PROXY protocol.
Implemented support for the PROXY protocol in HttpClient.
Introduced Request.tag(Object) to tag requests that belong
to the same group (e.g. a client address) so that they can
generate a different destination.
The tag object may implement ClientConnectionFactory.Decorator
so that it can decorate the HttpDestination ClientConnectionFactory
and therefore work both with and without forward proxy configuration.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-12-17 10:36:16 +01:00
Lachlan
584e264b0b
Clean up CustomRequestLog and fix the handling of the %u code. ( #4397 )
...
* Clean up CustomRequestLog and fix the handling of the %u code.
* Add test for logging of remote user with %u and %{d}u
* update javadoc to clarify that %u is only for servlet auth
* remove the prepended '?' when deferred authentication is checked
2019-12-17 11:28:39 +11:00
Simone Bordet
8245038a90
Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'.
2019-12-11 13:50:05 +01:00
Simone Bordet
6bbec7f3b0
Issue #4411 - Jetty server spins on incomplete request.
...
Fixed HttpInput to be in READY state if an error is detected
before the call to setWriteListener().
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-12-11 00:11:29 +01:00
Simone Bordet
2364b075d7
Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'.
2019-12-07 12:42:00 +01:00
Joakim Erdfelt
2ee079feb1
Merge 'jetty-9.4.x' of github.com:eclipse/jetty.project into jetty-9.4.x
2019-12-06 13:24:43 -06:00
Joakim Erdfelt
53eda03203
Making exception message more clear
...
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-12-06 13:24:30 -06:00
Simone Bordet
3417e1defe
Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'.
2019-12-04 15:33:58 +01:00
Greg Wilkins
c6633e8d67
fixed bad merge
...
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-12-04 15:32:28 +11:00
Simone Bordet
839846d9a6
Fixes #4392 - Suppress logging of QuietException in HttpChannelState.asyncError().
...
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-12-03 13:01:28 +01:00
Greg Wilkins
5545e906f0
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
...
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-12-03 12:52:29 +11:00
Greg Wilkins
85cda88b40
Issue #4376 Async Content Complete ( #4377 )
...
* Issue #4376 Async Content Complete
Added test harness to reproduce unready completing write.
Fixed test by not closing output prior to becoming READY
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4376 Async Content Complete
ERROR state still needs to be closed!
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4376 Async Content Complete
close after last blocking write
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4376 Async Content Complete
If completion has to do a flush, then we need a call to closed to
avoid leaking buffers.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4376 Async Content Complete
Reformat
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-12-03 08:50:36 +11:00
Joakim Erdfelt
c0f8a46c35
Merge branch 'jetty-9.4.x' into jetty-10.0.x
...
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
# Conflicts:
# jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/JettyRunDistro.java
2019-12-02 15:29:30 -06:00
Joakim Erdfelt
d99ae19201
Merge pull request #4290 from eclipse/jetty-9.4.x-4269-restore-PrintWriter-contract
...
Issue #4269 - Restoring PrintWriter contract on errors
2019-12-02 15:22:22 -06:00
Simone Bordet
3b817821e7
Merge pull request #3740 from eclipse/jetty-10.0.x-3537-bootstrap_websocket_http2
...
Issue #3537 - Bootstrap websocket on HTTP/2
2019-11-28 15:47:26 +01:00
olivier lamy
e58f570266
remove unused import
...
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2019-11-28 13:42:52 +10:00
olivier lamy
9576763c67
avoid non necessary objects allocation if session do not have any attributes data
...
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2019-11-28 11:15:48 +10:00
Lachlan Roberts
76bb8d2327
Issue #4368 directly use MultiPartFormInputStream instead of MultiParts
...
MultiPart cleanup is now done in Request.onCompleted()
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-11-27 17:20:01 +11:00
Lachlan Roberts
6988c4feaa
Issue #4368 - make MultiParts a class instead of interface
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-11-27 15:35:21 +11:00
Jan Bartel
149ac97b6f
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
...
Signed-off-by: Jan Bartel <janb@webtide.com>
2019-11-27 11:58:12 +11:00
Joakim Erdfelt
2777229867
Merge branch `jetty-9.4.x` into `jetty-10.0.x`
...
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
# Conflicts:
# VERSION.txt
# aggregates/jetty-all-compact3/pom.xml
# aggregates/jetty-all/pom.xml
# apache-jsp/pom.xml
# apache-jstl/pom.xml
# build-resources/pom.xml
# examples/async-rest/async-rest-jar/pom.xml
# examples/async-rest/async-rest-webapp/pom.xml
# examples/async-rest/pom.xml
# examples/embedded/pom.xml
# examples/pom.xml
# jetty-alpn/jetty-alpn-client/pom.xml
# jetty-alpn/jetty-alpn-conscrypt-client/pom.xml
# jetty-alpn/jetty-alpn-conscrypt-server/pom.xml
# jetty-alpn/jetty-alpn-java-client/pom.xml
# jetty-alpn/jetty-alpn-java-server/pom.xml
# jetty-alpn/jetty-alpn-openjdk8-client/pom.xml
# jetty-alpn/jetty-alpn-openjdk8-server/pom.xml
# jetty-alpn/jetty-alpn-server/pom.xml
# jetty-alpn/pom.xml
# jetty-annotations/pom.xml
# jetty-ant/pom.xml
# jetty-bom/pom.xml
# jetty-cdi/pom.xml
# jetty-client/pom.xml
# jetty-continuation/pom.xml
# jetty-deploy/pom.xml
# jetty-distribution/pom.xml
# jetty-documentation/pom.xml
# jetty-fcgi/fcgi-client/pom.xml
# jetty-fcgi/fcgi-server/pom.xml
# jetty-fcgi/pom.xml
# jetty-gcloud/jetty-gcloud-session-manager/pom.xml
# jetty-gcloud/pom.xml
# jetty-hazelcast/pom.xml
# jetty-home/pom.xml
# jetty-http-spi/pom.xml
# jetty-http/pom.xml
# jetty-http2/http2-alpn-tests/pom.xml
# jetty-http2/http2-client/pom.xml
# jetty-http2/http2-common/pom.xml
# jetty-http2/http2-hpack/pom.xml
# jetty-http2/http2-http-client-transport/pom.xml
# jetty-http2/http2-server/pom.xml
# jetty-http2/pom.xml
# jetty-infinispan/infinispan-common/pom.xml
# jetty-infinispan/infinispan-embedded-query/pom.xml
# jetty-infinispan/infinispan-embedded/pom.xml
# jetty-infinispan/infinispan-remote-query/pom.xml
# jetty-infinispan/infinispan-remote/pom.xml
# jetty-infinispan/pom.xml
# jetty-io/pom.xml
# jetty-jaas/pom.xml
# jetty-jaspi/pom.xml
# jetty-jmx/pom.xml
# jetty-jndi/pom.xml
# jetty-jspc-maven-plugin/pom.xml
# jetty-maven-plugin/pom.xml
# jetty-memcached/jetty-memcached-sessions/pom.xml
# jetty-memcached/pom.xml
# jetty-nosql/pom.xml
# jetty-openid/pom.xml
# jetty-osgi/jetty-osgi-alpn/pom.xml
# jetty-osgi/jetty-osgi-boot-jsp/pom.xml
# jetty-osgi/jetty-osgi-boot-warurl/pom.xml
# jetty-osgi/jetty-osgi-boot/pom.xml
# jetty-osgi/jetty-osgi-httpservice/pom.xml
# jetty-osgi/pom.xml
# jetty-osgi/test-jetty-osgi-context/pom.xml
# jetty-osgi/test-jetty-osgi-fragment/pom.xml
# jetty-osgi/test-jetty-osgi-server/pom.xml
# jetty-osgi/test-jetty-osgi-webapp/pom.xml
# jetty-osgi/test-jetty-osgi/pom.xml
# jetty-plus/pom.xml
# jetty-proxy/pom.xml
# jetty-quickstart/pom.xml
# jetty-rewrite/pom.xml
# jetty-runner/pom.xml
# jetty-security/pom.xml
# jetty-server/pom.xml
# jetty-server/src/test/java/org/eclipse/jetty/server/ErrorHandlerTest.java
# jetty-servlet/pom.xml
# jetty-servlets/pom.xml
# jetty-spring/pom.xml
# jetty-start/pom.xml
# jetty-unixsocket/pom.xml
# jetty-util-ajax/pom.xml
# jetty-util/pom.xml
# jetty-webapp/pom.xml
# jetty-websocket/javax-websocket-client/pom.xml
# jetty-websocket/javax-websocket-server/pom.xml
# jetty-websocket/jetty-websocket-api/pom.xml
# jetty-websocket/jetty-websocket-common/pom.xml
# jetty-websocket/jetty-websocket-server/pom.xml
# jetty-websocket/jetty-websocket-tests/pom.xml
# jetty-websocket/pom.xml
# jetty-websocket/websocket-core/pom.xml
# jetty-websocket/websocket-servlet/pom.xml
# jetty-xml/pom.xml
# pom.xml
# tests/jetty-jmh/pom.xml
# tests/pom.xml
# tests/test-continuation/pom.xml
# tests/test-distribution/pom.xml
# tests/test-http-client-transport/pom.xml
# tests/test-integration/pom.xml
# tests/test-jmx/jmx-webapp-it/pom.xml
# tests/test-jmx/jmx-webapp/pom.xml
# tests/test-jmx/pom.xml
# tests/test-loginservice/pom.xml
# tests/test-quickstart/pom.xml
# tests/test-sessions/pom.xml
# tests/test-sessions/test-file-sessions/pom.xml
# tests/test-sessions/test-gcloud-sessions/pom.xml
# tests/test-sessions/test-hazelcast-sessions/pom.xml
# tests/test-sessions/test-infinispan-sessions/pom.xml
# tests/test-sessions/test-jdbc-sessions/pom.xml
# tests/test-sessions/test-memcached-sessions/pom.xml
# tests/test-sessions/test-mongodb-sessions/pom.xml
# tests/test-sessions/test-sessions-common/pom.xml
# tests/test-webapps/pom.xml
# tests/test-webapps/test-cdi-common-webapp/pom.xml
# tests/test-webapps/test-felix-webapp/pom.xml
# tests/test-webapps/test-http2-webapp/pom.xml
# tests/test-webapps/test-jaas-webapp/pom.xml
# tests/test-webapps/test-jetty-webapp/pom.xml
# tests/test-webapps/test-jndi-webapp/pom.xml
# tests/test-webapps/test-mock-resources/pom.xml
# tests/test-webapps/test-owb-cdi-webapp/pom.xml
# tests/test-webapps/test-proxy-webapp/pom.xml
# tests/test-webapps/test-servlet-spec/pom.xml
# tests/test-webapps/test-servlet-spec/test-container-initializer/pom.xml
# tests/test-webapps/test-servlet-spec/test-spec-webapp/pom.xml
# tests/test-webapps/test-servlet-spec/test-web-fragment/pom.xml
# tests/test-webapps/test-simple-webapp/pom.xml
# tests/test-webapps/test-webapp-rfc2616/pom.xml
# tests/test-webapps/test-weld-cdi-webapp/pom.xml
2019-11-26 10:46:22 -06:00
Joakim Erdfelt
5d7f7d6499
Merge branch 'release-9.4.24' into jetty-9.4.x
2019-11-26 10:31:28 -06:00
Simone Bordet
f14ab3fc39
Merge branch 'jetty-10.0.x' into 'jetty-10.0.x-3537-bootstrap_websocket_http2'.
...
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-11-22 09:43:01 +01:00
Joakim Erdfelt
0f7a3b2d91
Updating to version 9.4.25-SNAPSHOT
2019-11-20 16:08:38 -06:00
Joakim Erdfelt
217602e97f
Issue #4334 - Enhancing JSON Test
...
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-11-20 15:48:22 -06:00
Joakim Erdfelt
363d5f2df3
Updating to version 9.4.24.v20191120
2019-11-20 15:25:01 -06:00
Joakim Erdfelt
cf0df6e3ff
Issue #4334 - Improve testing of ErrorHandler behavior
...
+ Cleanup from PR review
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-11-20 13:17:17 -06:00
Joakim Erdfelt
9e40fc9a6f
Issue #4334 - Improve testing of ErrorHandler behavior
...
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-11-20 09:47:33 -06:00
Joakim Erdfelt
dc03431de2
Merge branch 'release-9.4.23' into jetty-9.4.x
2019-11-20 07:14:53 -06:00
Simone Bordet
04dc257641
Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'.
2019-11-19 10:50:31 +01:00
Joakim Erdfelt
61cbb7529d
Removing duplicate log output
...
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-11-18 16:44:48 -06:00
Joakim Erdfelt
453d41940b
Updating to version 9.4.24-SNAPSHOT
2019-11-18 13:52:51 -06:00
Joakim Erdfelt
abbccc65d6
Updating to version 9.4.23.v20191118
2019-11-18 13:09:44 -06:00
Jan Bartel
d1171b17d9
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
2019-11-18 09:29:11 +11:00
Jan Bartel
318246eb24
Issue #4156 Remove use of PlaceHolderSession for simultaneous session loading ( #4304 )
...
* Issue #4156 Remove use of PlaceHolderSession for simultaneous session loading.
2019-11-18 09:06:38 +11:00
Simone Bordet
5e695919d9
Implemented support for RFC 8441's SETTING_ENABLE_CONNECT_PROTOCOL.
...
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-11-14 23:48:34 +01:00
Simone Bordet
06ce13e226
Merged branch 'jetty-10.0.x' into 'jetty-10.0.x-3537-bootstrap_websocket_http2'.
2019-11-14 12:42:15 +01:00
Greg Wilkins
8fef35c573
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
...
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-11-14 13:30:23 +11:00
Greg Wilkins
32931fac7b
Issue #4247 SameSite Session Cookie ( #4271 )
...
* Issue #4247 SameSite Session Cookie
Allows sameSite cookie settings to be configured in SessionCookieConfig comments
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4247 SameSite Session Cookies
Use non versioned cookie
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4247 SameSite Session Cookies
Added test and fixed getCommentWithAttributes
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4247 - Updating unit tests for HttpCookie
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
* Issue #4247 SameSite Session Cookie
While it may be best practise to always use Secure cookies when SameSite is None, there is nothing in the RFC that mandates it and thus I don't believe we should prevent such a configuration. If browsers enforce this, then users will find out soon enough... and if browsers change, then we are not required to do a new release to match.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4247 SameSite Session Cookie
For cookie comments with multiple SameSite attributes, the most strict
value is used. So `Strict` has precedence over `Lax` which has
precedence over `None`.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-11-14 11:56:40 +11:00
Greg Wilkins
b24c6ce68d
Issue #2340 ServletContext cleanup ( #4307 )
...
* Issue #2340 ServletContext cleanup
A minor cleanup of the ServletContext implementation classes.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #2340 ServletContext cleanup
cleanup after review
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-11-14 11:52:03 +11:00
Joakim Erdfelt
a44a46f3f1
Adding stalebot integration
...
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-11-13 15:43:48 -06:00
Joakim Erdfelt
6b96e3db21
Adding stalebot integration
...
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-11-13 15:42:07 -06:00
Joakim Erdfelt
ff7adab55a
Issue #4269 - Correcting PrintWriter test
...
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-11-13 14:47:53 -06:00
Greg Wilkins
c64bd7d2f0
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
...
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-11-13 16:11:16 +11:00
Greg Wilkins
46a3368f3b
Issue #2578 - Listener behavior cleanup (Jetty 10.0.x) ( #3966 )
...
* Avoid creating listener list for rarely used requestAttributeListener
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #3964
Keep a list of EventListeners in the AbstractConnector to make it
more efficient to add and iterate over them.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #2578 EventListener
Use addEventListener rather than bespoke listener methods.
Support getEventListenerBeans at Container level for fast lookup
improve javadoc
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #2578 EventListener
fixed test
more javadoc
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #2578 EventListener
fixed tests
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #3964
Don't use null for empty lists of listeners
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* fix merge
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #2578 EventListener
Resolve differences between eventListeners added as beans and beans
added as EventListeners. The behaviour should now be the same
regardless of how they listener is added and all listeners are now
beans.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #2578 EventListener
Add only SelectorManager listeners to manager from connector
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #2578 EventListener
Fixed javadoc
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #2578 EventListener
removed old TODO
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #2578 EventListener
connector cannot be null
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #2578 EventListener
javadoc
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #3964
AbstractConnector keeps a specific list of HttpChannel.Listeners
to avoid Connection.Listeners and MBean listeners being added to
the HttpChannel listener list.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #2578 EventListener
fixed merge
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* fixed javadoc
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #2578 EventListener
removed the ability to set/clear context listeners
Instead just remove non-durable ones.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #3964 Listeners
Simplified listener handling by avoiding null connector, previously
only needed for testing.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* fixed bad merge
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #3964 Listeners
Fixed test that assumed HttpChannel listeners were not cleared by a recycle
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #3964 Listeners
Separated out durable vs cyclic HttpChannel.Listeners, so as to
simplify handling.
Deprecated cyclic HttpChannel.Listeners, as I'm not sure the channel is
the right place for them.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* removed deprecated cyclic HttpChannel listeners
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* removed deprecated cyclic HttpChannel listeners - import
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4003 Cleanup quickstart
* Fixed tests that scan for "Started" on console
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* updates from review
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-11-13 11:04:38 +11:00
Greg Wilkins
24df8c59a3
Issue #4279 Writer close deadlock ( #4288 )
...
Do not close the actual writer from closed.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-11-13 11:03:17 +11:00
Greg Wilkins
fe4b9cf366
Issue #4161 Write LifeCycleViolation ( #4294 )
...
* Issue #4161 - TestCase that can replicate problem on OSX
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
* Issue #4161 - Naming Server threadpool (to help with debugging)
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
* Issue #4161 - bumping up test file size to 10 MB
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
* Issue #4161 Write LifeCycleViolation
Do not callback on write completion until after state has been changed and notifications made.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4161 Write LifeCycleViolation
Added a unit test that replicated the problem.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4161 - `EofException: request lifecycle violation` in stderr.
Moved notifications of commit and content listeners back to succeeded().
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
* Issue #4161 - Improved Logging for test-integration
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
* Issue #4161 - Reducing size of test file
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-11-13 11:02:12 +11:00
Simone Bordet
5f9edb1361
Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'.
2019-11-12 16:41:33 +01:00
Simone Bordet
b1d231b9e7
Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'.
2019-11-11 16:45:12 +01:00
Greg Wilkins
ee0f9fc1d0
Issue #4033 Percent Encoded Bad Requests ( #4272 )
...
* Modernizing testcase
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
* Issue #4033 Percent Encoded Bad Requests
Added test to demonstrate bad percent encoded request
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4033 - adding sanity test for percent paths and checkAlias()
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
* Eliminating 9.3.0.RC0 dependency
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
* Issue #4033 - More tests for Resource checkAlias() behavior
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
* Issue #4033 - Splitting badDecodePath
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
* Issue #4033 - More badDecodePath tests
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
* Issue #4033 Percent Encoded Bad Requests
reverted decodePathBehaviour
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* testing pull request building
* Issue #4033
updates after review
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-11-11 12:01:26 +11:00
Lachlan
c336616c96
Issue #2709 - reduce default headerCacheSize to 1024 ( #4292 )
...
make headerCacheSize on HttpReceiverOverHTTP configurable
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-11-08 21:57:49 +11:00
Joakim Erdfelt
c0866ebeae
Issue #4269 - Restoring PrintWriter contract on errors
...
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-11-07 15:59:13 -06:00
Joakim Erdfelt
e103a5e1a7
Merge branch 'jetty-9.4.x' into jetty-10.0.x
...
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
# Conflicts:
# jetty-server/src/main/java/org/eclipse/jetty/server/handler/ErrorHandler.java
# tests/test-webapps/test-servlet-spec/test-spec-webapp/pom.xml
2019-11-07 13:25:04 -06:00
Greg Wilkins
070d2b235e
Issue #4264 Revert doError signature
...
revert the doError signature.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-11-07 09:31:52 +11:00
Jan Bartel
f55fbdb7eb
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
2019-11-06 16:09:02 +11:00
Lachlan
0338dc037c
Issue #4228 - remove default keystore passwords not from test-keystore.mod ( #4229 )
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-11-06 11:12:56 +11:00
Olivier Lamy
37aa5a17e0
Issue #4243 invalid json error response from ErrorHandler ( #4249 )
...
* Issue #4243 invalid json error response from ErrorHandler
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2019-11-06 09:09:44 +10:00
Joakim Erdfelt
43d95cd984
Updating to version 9.3.29-SNAPSHOT
2019-11-05 13:02:10 -06:00
Joakim Erdfelt
d7dd68d6e9
Updating to version 9.3.28.v20191105
2019-11-05 11:46:40 -06:00
Joakim Erdfelt
b17439c731
Updating to version 9.2.30-SNAPSHOT
2019-11-05 11:23:21 -06:00
Joakim Erdfelt
36c95fdd43
Updating to version 9.2.29.v20191105
2019-11-05 10:43:15 -06:00
Greg Wilkins
dd53a8d70f
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
...
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-11-05 09:17:29 +11:00
Simone Bordet
e09444eeb5
Issue #3863 - Enforce use of SNI ( #4085 )
...
* Issue #3863 - Enforce use of SNI.
Introduced SslContextFactory.rejectUnmatchedSNIHost (default false)
so that if no SNI is sent, or SNI does not match a certificate,
then the TLS handshake is aborted.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
* Issue #3863 - Enforce use of SNI.
Updates after review.
Introduced SslContextFactory.SNISelector to allow application to write
their custom logic to select a certificate based on SNI information.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
* Issue #3863 Enforce SNI
Added two sniRequired fields - one at SslContextLevel and the other at the SecureRequestCustomizer. This allows rejection either at TLS handshake or by 400 response.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #3863 Enforce SNI
cleanups from review
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #3863 Enforce SNI
improved comments
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #3863 Enforce SNI
syntax sugar
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #3863 SNI
Updates from review. Extra test for sniSelector function
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-11-05 09:07:34 +11:00
Greg Wilkins
869c3b51ce
Issue #4265 Remove doError ( #4266 )
...
* Issue #4265 Remove doError
The doError method and the ErrorDispatchHandler class were
hang overs from when we needed to dispatch into a context to get sendError called, which would then generate the error page.
Now sendError doesn't do any generation, rather it changes state that arranges either for a minimal error page to be generated or an ERROR dispatch to a real handler/servlet to generate the error page.
Thus the ErrorDispatchHandler and doError methods can now be removed.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4265 Remove doError
Moved the error page dispatching logic back to the ErrorHandler class to assist with backwards compatibility
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4265 Remove doError
Moved the error page dispatching logic back to the ErrorHandler class to assist with backwards compatibility
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4265 doError
Updates from review.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-11-05 08:45:46 +11:00
Joakim Erdfelt
1ed13b6b30
Updating to version 9.4.23-SNAPSHOT
2019-10-22 09:19:41 -05:00
Joakim Erdfelt
b1e6b55512
Updating to version 9.4.22.v20191022
2019-10-22 08:20:50 -05:00
olivier lamy
85cb8e8c5d
Issue #4222 fix major/minor version
...
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2019-10-20 09:33:22 +10:00
Greg Wilkins
203eef4029
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
...
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-10-19 10:29:01 +11:00
Joakim Erdfelt
890c0b26cb
Fixes #4203 and #4204 - Transfer-Encoding + Content-Length behaviors ( #4205 )
...
* Issue #4203 - Updating test to verify report on Transfer-Encoding
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
* Fixes #4203 - Transfer-Encoding + Content-Length is 400 Bad Request
+ Fixing validation to not be header order dependent.
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
* Issue #4203 - Fixing hasTransferEncoding reset and testcase assumption
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
* Issue #4204 - Transfer-Encoding RFC7230 behaviors
+ More test cases and implementation.
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
* Issue #4204 - Transfer-Encoding RFC7230 behaviors
+ Adjusting HttpParser to handle the case where we have multiple
Transfer-Encoding headers and none declare the 'chunked' token.
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
* Issue #4204 - Transfer-Encoding RFC7230 behaviors
+ Making changes from PR review
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
* Issue #4203 Transfer Encoding
request with TE and no chunking is a Bad Request
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-10-19 08:05:15 +11:00
Greg Wilkins
3d19f61122
Issue #4193 - Fix InetAccess port control ( #4206 )
...
* issue exclude/include con name InetAccesHandler - add better unit test
this logic:
String name =
baseRequest.getHttpChannel().getConnector().getName();
return _names.test(name) && _addrs.test(addr);
Is not correct. it's treating the connector name exactly like the
filter. But that's not what it's intended to do. It's supposed to tell
what connectors are applicable to this filter. And what connectors are
not affected.
For example in the unit test there exists 2 connectors:
http
tls
We want to restrict the http connector, but we want to leave tls
connector alone.
So we would specify:
include = 192.168.1.1-192.168.1.254
includeConnector = http
The way the logic is above, it is treating the connector name as if it's
the filter itself. Which is not what I intended.
What i need in psuedo-code is this:
if (there are no "include connectors" OR if this connector is
included) AND (if this connector is not in the excluded list)
---> Then apply the IP filter.
Signed-off-by: Nicholas DiPiazza <nicholas.dipiazza@lucidworks.com>
* exclude should take precedence over include
Signed-off-by: Nicholas DiPiazza <nicholas.dipiazza@lucidworks.com>
* Issue #4193 InetAccessHandler
reverted changes to IncludeExcludeSet
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4193 InetAccessHandler
updates from review
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-10-18 09:03:28 +11:00
Greg Wilkins
894fc9b115
Issue #4208 - Content-Length in 304 ( #4211 )
...
* Issue #4208 Content-Length in 304
Added tests for RFC7230 section 3.3.2 for 304 and HEAD responses with content length.
Fixed HttpGenerator to set content-length in 304 response
Fixed insufficient content written check for 304
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4208 Content-Length in 304
Use contentLengthField
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-10-17 14:26:19 +11:00
Simone Bordet
329b819d72
Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'.
2019-10-16 23:36:47 +02:00
Simone Bordet
869184c827
Merge pull request #4200 from eclipse/jetty-9.4.x-4190-deadlock_httpoutput_close
...
Fixes #4190 Jetty hangs after thread blocked in SharedBlockingCallbac…
2019-10-16 23:35:52 +02:00
Joakim Erdfelt
8c928e0fd1
Merge branch 'jetty-9.4.x' into jetty-10.0.x
...
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
# Conflicts:
# jetty-server/src/main/java/org/eclipse/jetty/server/handler/gzip/GzipHandler.java
2019-10-16 15:31:09 -05:00
Greg Wilkins
7cc552013e
Issue #4191 Min GzipSize
...
updates from review from OP.
reverted static DEFAULT_MIN_GZIP_SIZE
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-10-16 22:07:51 +11:00
Greg Wilkins
2ee874a8ac
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-9.4.x-4191-min-gzip-size
...
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-10-16 22:00:52 +11:00
Greg Wilkins
031df2bd2e
simplified javadoc
...
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-10-16 18:19:22 +11:00
Greg Wilkins
1881683726
Issue #4191 Min GzipSize
...
updates from review in absence of OP.
Make break even size a warning rather than a hard limit.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-10-16 16:22:14 +11:00
Greg Wilkins
f4d9223762
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
...
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-10-16 14:16:44 +11:00
Greg Wilkins
73924d2774
Issue #4188 Spin in close of GzipHandler ( #4198 )
...
* Issue #4188 Spin in close of GzipHandler
Cleanup and simplify code
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4188 Spin in close of GzipHandler
Fix slice code. Added unit test for it.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4188 Spin in close of GzipHandler
Fixed last slice.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* cleanup from review
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-10-16 14:12:52 +11:00
Jan Bartel
92c8bb8dd5
Issue #4158 Re-enable support for duplicate session cookies. ( #4168 )
...
* Issue #4158 Re-enable support for duplicate session cookies.
Signed-off-by: Jan Bartel <janb@webtide.com>
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-10-16 14:08:51 +11:00
Greg Wilkins
8f1975cc04
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
...
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-10-16 14:00:22 +11:00
Greg Wilkins
2eb251a4b8
fix logging defaults to INFO
...
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-10-16 13:53:57 +11:00
Joakim Erdfelt
fa25d560b3
Fixing typo
...
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-10-15 13:52:39 -05:00
Simone Bordet
6b26ac9ee9
Fixes #4190 Jetty hangs after thread blocked in SharedBlockingCallback.block() called by HttpOutput.close.
...
Now releasing the buffer when in CLOSING state.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-10-15 15:47:03 +02:00
Simone Bordet
a0e90bab96
Fixes #4190 Jetty hangs after thread blocked in SharedBlockingCallback.block() called by HttpOutput.close.
...
Now handling correctly the CLOSING case in HttpOutput.close().
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-10-15 12:45:10 +02:00
Joakim Erdfelt
0fbb507841
Issue #4191 - GzipHandler.minGzipSize cannot be lower then 23.
...
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-10-14 13:21:01 -05:00
Greg Wilkins
f09e03c586
Issue #4156 - Session Already in Cache during forwarding ( #4159 )
...
* Issue #4156 - Adding test to replicate issue
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
* Issue #4156 Session already in cache
+ check validity of sessions in getSession(SessionHandler)
+ do not replace session in doScope if SessionHandler is the same.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-10-14 11:18:37 +11:00
Simone Bordet
20e70c147b
Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'.
2019-10-10 12:45:53 +02:00
Simone Bordet
ec56739d3c
Merge pull request #4180 from eclipse/jetty-9.4.x-4179-SendCallback-gc
...
Issue #4179 SendCallback GC
2019-10-10 12:45:30 +02:00
Simone Bordet
4e69122537
Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'.
2019-10-10 11:02:32 +02:00
Greg Wilkins
ce41c122a6
Issue #4176 setHeader after sendError ( #4181 )
...
* Issue #4176 setHeader after sendError
SendError now makes the response immutable for headers and status.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4176 setHeader after sendError
cleanup after review
better names
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4176 setHeader after sendError
better name
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4176 setHeader after sendError
even better name
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-10-10 19:35:28 +11:00
Greg Wilkins
faac5d7f04
Issue #4179 SendCallback GC
...
The HttpConnection.SendCallback nulls it's reference to buffers and callbacks after completion to assist with easy GC, since the connection callback is a long lived instance.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-10-10 09:09:53 +11:00
Simone Bordet
783f3b49b0
Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'.
2019-10-09 10:22:18 +02:00
Greg Wilkins
31a0180133
Improve debug logging of gzip inflation
...
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-10-09 11:51:13 +11:00
Greg Wilkins
8087e29211
Reverted getSession(id) to public
...
This method is used by third party session handlers.
Reverts change made as part of #3913
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-10-09 11:46:43 +11:00
Joakim Erdfelt
d7a189fa18
Updating to version 10.0.0-SNAPSHOT
2019-10-03 12:05:26 -05:00
Joakim Erdfelt
fd6a2cb9f6
Updating to version 10.0.0.alpha1
2019-10-03 11:25:06 -05:00
Simone Bordet
bc663d2d63
Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'.
2019-10-02 10:18:40 +02:00
Simone Bordet
7810f2dec2
Reverted 82a00524d1
.
...
The connection upgrade check is necessary both after the parsing and
after the handling. After the parsing covers HTTP/2 prior knowledge
"PRI * HTTP/2" case; after the handling covers the WebSocket case.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-10-02 10:18:06 +02:00
Joakim Erdfelt
6fc42d8ba2
Merge branch 'release-9.4.21' into jetty-9.4.x
2019-10-01 13:35:43 -05:00
Simone Bordet
17b25ca74a
Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'.
2019-10-01 18:11:01 +02:00
Simone Bordet
a380f6b7b9
Merge pull request #4081 from eclipse/jetty-9.4.x-HttpConnection_UpgradeCheck
...
Remove unnecessary Connection upgrade check
2019-10-01 18:10:23 +02:00
Joakim Erdfelt
7807eafad9
Updating to version 9.4.22-SNAPSHOT
2019-09-26 10:46:28 -05:00
Joakim Erdfelt
72970db61a
Updating to version 9.4.21.v20190926
2019-09-26 09:59:15 -05:00
Lachlan Roberts
af081459ee
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-09-25 15:06:17 +10:00
Greg Wilkins
11b60db4c3
Issue #4047 Graceful Write ( #4100 )
...
Added test to reproduce issue
Fixed bug from #2772 where output was shutdown on DONE without checking for END.
Fixed aggregation logic to aggregate last write if aggregation already started
Improved comments and clarify conditions
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-09-25 12:13:56 +10:00
Simone Bordet
f10325ea50
Merge pull request #3959 from eclipse/jetty-10.0.x-3952-server_direct_heap_bytebuffers
...
Fixes #3952 - Server configuration for direct/heap ByteBuffers.
2019-09-23 15:24:47 +02:00
Simone Bordet
0eec727a09
After review, renamed *directBuffers to *directByteBuffers.
...
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-09-17 12:16:10 +02:00
Simone Bordet
44e4633af0
Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'.
2019-09-17 11:37:47 +02:00
Simone Bordet
f85382aa9d
Merge pull request #4086 from eclipse/jetty-9.4.x-1036-SchedulerThreads
...
Issue #1036 Configure Scheduler
2019-09-17 11:37:23 +02:00
Simone Bordet
bee079c021
Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'.
2019-09-17 11:18:51 +02:00
Lachlan Roberts
a0cd331327
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-9.4.x-HttpConnection_UpgradeCheck
2019-09-17 13:11:43 +10:00
Greg Wilkins
bcf6b4c581
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-9.4.x-1036-SchedulerThreads
2019-09-17 12:36:23 +10:00
Simone Bordet
422b9bded5
Fixes #3747 - Make Jetty Demo work with JPMS.
...
Introduced module `jdbc` and made other modules that require JDBC depend on it.
Modified demo.ini to enable the `jdbc` module because some webapp descriptor
of the demo requires JDBC classes.
Now the demo can be run fine on the module-path just by adding --jpms.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-09-16 22:57:55 +02:00
Simone Bordet
1ef4a416b5
Merged branch 'jetty-10.0.x' into 'jetty-10.0.x-3952-server_direct_heap_bytebuffers'.
2019-09-16 12:26:26 +02:00
Joakim Erdfelt
3861e9f9ca
Merge branch 'jetty-9.4.x' into jetty-10.0.x
...
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
# Conflicts:
# jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ServletContextHandler.java
# jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ServletHolder.java
2019-09-13 10:02:05 -05:00
Joakim Erdfelt
39c230f294
Merge pull request #4083 from eclipse/jetty-9.4.x-97-Unavailable
...
Issue #97 ServletHolder unavailable handling
2019-09-13 09:58:09 -05:00
Greg Wilkins
ae0ab46066
Issue #97 Unavailable handling
...
Added test for servlet component lifecycle
Fixed bug where we were destroying listeners before calling them.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-09-13 11:40:11 +10:00
Greg Wilkins
92e4d73dcb
Issue #1036 Configure Scheduler
...
Allows scheduler configuration
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-09-13 09:52:28 +10:00
Simone Bordet
098f5029c8
Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'.
2019-09-12 15:51:23 +02:00
Lachlan Roberts
3068b4c8ae
fix build issues
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-09-12 11:04:05 +10:00
Lachlan Roberts
82a00524d1
remove unnecessary connection upgrade check
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-09-12 10:52:06 +10:00
Greg Wilkins
905bf82f80
reformatting
...
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-09-12 10:14:58 +10:00
Simone Bordet
d69a1f0f58
Merged branch 'jetty-10.0.x' into 'jetty-10.0.x-3537-bootstrap_websocket_http2'.
2019-09-12 00:11:01 +02:00
Simone Bordet
f942cd4687
Merged branch 'jetty-10.0.x' into 'jetty-10.0.x-4058-autolock'.
2019-09-11 22:41:11 +02:00
Joakim Erdfelt
6ae7427d55
Merge branch 'jetty-9.4.x' into jetty-10.0.x
...
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
# Conflicts:
# examples/embedded/pom.xml
# examples/embedded/src/main/java/org/eclipse/jetty/embedded/FileServer.java
# examples/embedded/src/main/java/org/eclipse/jetty/embedded/Http2Server.java
# examples/embedded/src/main/java/org/eclipse/jetty/embedded/JarServer.java
# examples/embedded/src/main/java/org/eclipse/jetty/embedded/LikeJettyXml.java
# examples/embedded/src/main/java/org/eclipse/jetty/embedded/ManyConnectors.java
# examples/embedded/src/main/java/org/eclipse/jetty/embedded/ManyContexts.java
# examples/embedded/src/main/java/org/eclipse/jetty/embedded/ManyHandlers.java
# examples/embedded/src/main/java/org/eclipse/jetty/embedded/OneWebAppWithJsp.java
# examples/embedded/src/main/java/org/eclipse/jetty/embedded/ServerWithAnnotations.java
# examples/embedded/src/main/java/org/eclipse/jetty/embedded/ServerWithJNDI.java
# examples/embedded/src/main/java/org/eclipse/jetty/embedded/WebSocketJsrServer.java
2019-09-11 09:42:56 -05:00
Joakim Erdfelt
43e10f8a5e
Merge pull request #4056 from eclipse/jetty-9.4.x-testing-embedded-examples
...
Unit Testing the Embedded Examples
2019-09-11 09:20:10 -05:00
Jan Bartel
1722acafa8
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
2019-09-11 09:36:59 +10:00
Jan Bartel
a563cdca76
Issue #4025 Add flushOnResponseCommit mode to sessions. ( #4049 )
...
* Issue #4025 Add flushOnCommit mode to sessions.
Added flushOnCommit mode to write a session to the backing store as the
response commits, before any bytes are returned to the client.
Signed-off-by: Jan Bartel <janb@webtide.com>
2019-09-11 09:10:35 +10:00
Jan Bartel
b851af0a5b
Issue #4003 Fix quickstart ( #4008 )
...
* Issue #4003 Fix quickstart.
Modes:
AUTO: use quickstart xml if present, start normally otherwise
GENERATE: re/generate quickstart xml
QUICKSTART: use a pregenerated quickstart xml, fail otherwise
Signed-off-by: Jan Bartel <janb@webtide.com>
* Issue #4003 Cleanup quickstart
Removed TerminateException in favour of Server.setDryRun(boolean)
and AbstractLifeCycle.StopException
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-09-10 16:04:01 +10:00
Simone Bordet
692c017500
Fixes #4058 - Review Locker.
...
Removes the Locker class, replaced by AutoLock.
Removed usages of Locker.isLocked() from the session code
since it was not necessary.
Took the chance to do a little code cleanup.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-09-09 16:18:46 +02:00
Greg Wilkins
103a5065c9
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
2019-09-09 15:14:39 +10:00
Greg Wilkins
17f4dd1a40
Merge pull request #4066 from dreis2211/tolerate-multiple-accept-encondings-gziphandler
...
Tolerate multiple Accept-Encoding headers in GzipHandler
2019-09-09 15:14:15 +10:00
dreis2211
82e8fc0b0e
Simplify check for Accept-Encoding header
...
Signed-off-by: dreis2211 <christoph.dreis@freenet.de>
2019-09-09 07:06:40 +02:00
Jan Bartel
ee13567c21
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
2019-09-09 14:54:39 +10:00
tomoya yokota
c904a14d6a
fix Session#finishInvalidate throwsConcurrentModificationException ( #4036 )
...
* fix Session#finishInvalidate throws java.util.ConcurrentModificationException
* Change constructor _attribute field must assigned to ConcurrentHashMap
Signed-off-by: tomoya-yokota <tomoya-yokota@cybozu.co.jp>
2019-09-09 14:52:48 +10:00
dreis2211
597458df7c
Tolerate multiple Accept-Encoding headers in GzipHandler
...
Signed-off-by: dreis2211 <christoph.dreis@freenet.de>
2019-09-08 01:44:05 +02:00
Joakim Erdfelt
7618eae915
Issue #4064 - MinimalServlets test and ServletHolder fix
...
+ Also made ContextHandler warning message about features
that are unimplemented (and you should use ServletContextHandler)
more clear. (this helped with diagnosing where the bug was
in ServletHolder)
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-09-06 09:26:06 -05:00
Greg Wilkins
02ec06ead9
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
2019-09-06 14:45:55 +10:00
Greg Wilkins
894f31e612
Issue #4048 Multiple proxy ports ( #4063 )
...
Support multiple proxy port values.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-09-06 14:45:00 +10:00
Chris Walker
f7a0156961
Merge 9.4.x
2019-09-05 13:20:19 -04:00
康智冬
3a6b26d292
fix typo ( #4055 )
...
Signed-off-by: KangZhiDong <worldkzd@gmail.com>
2019-09-05 13:17:30 -04:00
Chris Walker
189ba7a671
Merge from 9.4.x
2019-09-02 14:49:33 -04:00
康智冬
49ba6d1acb
fix typo and grammar ( #4045 )
...
Signed-off-by: KangZhiDong <worldkzd@gmail.com>
2019-09-02 14:29:50 -04:00
Joakim Erdfelt
ebc6a8e143
Merge branch `jetty-9.4.x` into `jetty-10.0.x`
...
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
# Conflicts:
# jetty-util/src/main/java/org/eclipse/jetty/util/URIUtil.java
2019-08-29 07:24:16 -05:00
Joakim Erdfelt
2fcb311c56
Issue #4033 - Addressing Lenient URIUtil decode behavior change in test
...
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-08-28 16:32:19 -05:00
Jan Bartel
758d5be6fa
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
...
Signed-off-by: Jan Bartel <janb@webtide.com>
2019-08-28 11:12:20 +10:00
Jan Bartel
37712d75a2
Issue #4027 Ensure AbstractSessionDataStore started or throws exception. ( #4028 )
...
* Issue #4027 Ensure AbstractSessionDataStore started or throws exception.
Signed-off-by: Jan Bartel <janb@webtide.com>
2019-08-28 11:08:42 +10:00
Jan Bartel
23c0bcaf89
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
2019-08-28 11:05:53 +10:00
Jan Bartel
a2fc9b113b
Fix and enhance session invalidation tests.
...
Signed-off-by: Jan Bartel <janb@webtide.com>
2019-08-28 11:04:31 +10:00
Joakim Erdfelt
eef2481b59
Adding cookie parsing test for excessive semicolon (reported as CVE in other projects)
2019-08-27 14:09:06 -05:00
Greg Wilkins
a09a8f94c6
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
...
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-08-27 19:04:05 +10:00
Greg Wilkins
2564a08150
fix checkstyle
...
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-08-27 18:43:33 +10:00
Greg Wilkins
6038d75153
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
...
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-08-27 17:47:41 +10:00
Greg Wilkins
83463c2a23
Issue #3964 - Listener behavior cleanup (Jetty 9.4.x) ( #3965 )
...
Issue #3964
* Avoid creating listener list for rarely used requestAttributeListener
* AbstractConnector keeps a specific list of HttpChannel.Listeners
to avoid Connection.Listeners and MBean listeners being added to
the HttpChannel listener list.
* Simplified listener handling by avoiding null connector, previously
only needed for testing.
* Fixed test that assumed HttpChannel listeners were not cleared by a recycle
* Separated out durable vs cyclic HttpChannel.Listeners, so as to
simplify handling.
* Deprecated cyclic HttpChannel.Listeners, as I'm not sure the channel is
the right place for them.
* Added improved method to combine multiple HttpChannel Listeners
into a single Listener.
* Fixed MockConnector
* Added benchmark
* Improved benchmark
* Updates from review
* Removed benchmark and alternate implementations.
* Updated javadoc
* Updates from review
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-08-27 17:38:20 +10:00
Greg Wilkins
d890748f3a
More merge fixes
...
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-08-27 16:19:07 +10:00
Olivier Lamy
5403a30b32
session#getLastAccessedTime should throw IllegalStateException if session has been invalidated ( #4023 )
...
* per servlet api javadoc getLastAccessedTime should throw IllegalStateException if session has been invalidated
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
* isInvalid test should be done within lock
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2019-08-27 13:13:18 +10:00
Olivier Lamy
b51d770807
session#getLastAccessedTime should throw IllegalStateException if session has been invalidated ( #4023 )
...
* per servlet api javadoc getLastAccessedTime should throw IllegalStateException if session has been invalidated
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
* isInvalid test should be done within lock
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2019-08-27 13:03:28 +10:00
Greg Wilkins
15e2f72264
updated after merge to fix tests
...
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-08-27 11:33:06 +10:00
Greg Wilkins
5164f7bb41
fixed merge
...
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-08-27 10:52:27 +10:00
Greg Wilkins
af8587c108
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
...
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-08-27 08:15:41 +10:00
Greg Wilkins
bde86467f4
Issue #3806 - Make Async sendError fully Async ( #3912 )
...
* Issue #3806 async sendError
Avoid using isHandled as a test withing sendError as this can be
called asynchronously and is in a race with the normal dispatch of the
request, which could also be setting handled status.
The ErrorHandler was dispatching directly to a context from within
sendError. This meant that an async thread can call sendError and be
dispatched to within the servlet container at the same time that the
original thread was still dispatched to the container.
This commit fixes that problem by using an async dispatch for error
pages within the ErrorHandler. However, this introduces a new problem
that a well behaved async app will call complete after calling
sendError. Thus we have ignore complete ISEs for the remainder of
the current async cycle.
Fixed the closing of the output after calling sendError. Do not
close if the request was async (and thus might be dispatched to an
async error) or if it is now async because the error page itself is
async.
* updates from review
* better tests
* revert ignore complete
* added some TODOs
* more TODOs
* fixed rename
* cleanup ISE and more TODOs
* refactored to call sendError for uncaught exceptions rather than onError
* more of the refactor
* extra tests for sendError from completing state
Reworked HttpChannelState and sendError so that sendError is now
just a change of state. All the work is done in the ErrorDispatch
action, including calling the ErrorHandler. Async not yet working.
Additional tests
Converted ERRORED state to a separate boolean so it can be used for
both Sync and Async dispatches.
Removed ASYNC_IO state as it was just the same as DISPATCHED
The async onError listener handling is now most likely broken.
WIP making sendError simpler and more tests pass
WIP handling async and thrown exceptions
WIP passing tests
Improved thread handling
removed bad test
Implemented error dispatch on complete properly
more fixed tests
sendError state looks committed
- Added resetContent method to leave more non-content headers during sendError
- Fixed security tests
- simplified the non dispatch error page writing. Moved towards being able to write async
* fixed gzipHandlerTest
* Updated handling of timeout errors. According to servlet spec,
exceptions thrown from onTimeout should not be passed to onError, but
just logged and ignored:
If an exception is thrown while invoking methods in an AsyncListener,
it is logged and will not affect the invocation of any other AsyncListeners.
* This changes several tests.
* Dispatcher/ContextHandler changes for new ERROR dispatch handling. Feels a bit fragile!
* Fixed tests in jetty-servlets
* Fixed tests in jetty-proxy
* more test fixes
* Fixed head handling
reverted unnecessary changes
Improved reason handling
WIP on fully async error handling.
Simplified HttpChannelState state machines to allow for async actions
during completing
more WIP on fully async error handling.
sendError and completion are not both non-blocking, without using
a startAsync operation. However we are lacking unit tests that actually
exercise those code paths.
* Simplified name of states
Added test for async completion
* Cleanups and javadoc
* Cleanups and javadoc
* remove snake case
* feedback from review
* Write error page into fixed pooled buffer
Use the response to get/release a pooled buffer into which the error
page can be written. Make it a fixed sized buffer and if it overflows
then no error page is generated (first overflow turns off showstacks
to save space).
The ErrorHandler badly needs to be refactored, but we cannot change
API in jetty-9
* More test fixes for different error page format
* minor cleanups
* Cleanup from Review
* Fixed javadoc
* cleanups and simplifications
* Cleanup from Review
* renaming and some TODOs
* Cleanup from Review
* Checkstyle fixes
* Cleanup from Review
* Code cleanups and simplifications
* fixed debug
* Cleanup from Review
* Ensure response sent before server shutdown
* removed unnecessary optimisation
* fixed duplicate from merge
* Updates from review
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-08-26 17:55:58 +10:00
Jan Bartel
9534940578
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
...
Signed-off-by: Jan Bartel <janb@webtide.com>
2019-08-26 15:55:08 +10:00
Jan Bartel
0f8230c05b
Issue #3936 Provide write-through modes for the NullSessionCache ( #3984 )
...
* Issue #3936 Provide write-through modes for the NullSessionCache
Signed-off-by: Jan Bartel <janb@webtide.com>
2019-08-26 15:22:20 +10:00
Joakim Erdfelt
36ef975353
Merge branch `jetty-9.4.x` into `jetty-10.0.x`
...
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
# Conflicts:
# jetty-http/src/main/java/org/eclipse/jetty/http/CookieCutter.java
# jetty-http/src/test/java/org/eclipse/jetty/http/CookieCutterTest.java
# jetty-servlet/src/test/java/org/eclipse/jetty/servlet/DefaultServletTest.java
# jetty-util/src/test/java/org/eclipse/jetty/util/resource/FileSystemResourceTest.java
2019-08-23 08:52:52 -05:00
Joakim Erdfelt
1867d24ef7
Merge pull request #4001 from eclipse/jetty-9.4.x-4000-swedish-unicode-file-serving
...
Issue #4000 - new SameFileAliasChecker to help with NFC/NFD UTF-8 differences
2019-08-23 07:27:32 -05:00
Joakim Erdfelt
f15ca7765e
Merge pull request #3994 from eclipse/jetty-9.4.x-3985-cookie-parsing
...
Fixes #3985 - Updates to CookieCutter to reject no-equal cookies
2019-08-23 07:27:23 -05:00
olivier lamy
80d513e979
junit failure after bad merge
...
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2019-08-23 10:56:24 +10:00
Joakim Erdfelt
318045cd87
Issue #3985 - Applying PR Review to CookieCutter
...
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-08-22 12:46:23 -05:00
olivier lamy
a36af67abf
Merge branch 'jetty-9.4.x' into jetty-10.0.x
2019-08-22 20:45:57 +10:00
Olivier Lamy
fe3d3f7158
fix checkstyle in test sources ( #4013 )
...
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2019-08-22 19:56:41 +10:00
Joakim Erdfelt
88e37b177c
Issue #4000 - Name change to isSameName
...
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-08-21 17:11:44 -05:00
Joakim Erdfelt
c1c241349e
Issue #3985 - Applying PR Review to CookieCutter
...
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-08-21 12:54:26 -05:00
Joakim Erdfelt
30bd3914cf
Issue #4000 - SameFileAliasChecker to help with NFD/NFC
...
+ Adding SameFileAliasChecker to help with environments
where the Alias and the Path point to the same file,
by relying on the FileSystem and Path implementation
to make the determination if the two Path references
truly point to the same file.
+ Minor cleanup of FileSystemResourceTest
+ Additional DefaultServletTest for this UTF-8 differences
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-08-21 12:21:04 -05:00
Greg Wilkins
d04c5f1e2a
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
...
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-08-20 16:23:09 +10:00
Bruce
a1bb3b4491
fix formatting and change comment flags to attributes
...
Signed-off-by: Bruce MacDonald <brucewmacdonald@gmail.com>
2019-08-20 15:12:03 +10:00
Bruce
6ad148c8f9
parse samesite from cookie comment flag utility functions
...
Signed-off-by: Bruce MacDonald <brucewmacdonald@gmail.com>
2019-08-20 15:12:03 +10:00
Bruce
2e5f6fca4b
parse SameSite specifier from cookie comment and move HttpOnly comment parsing to org.eclipse.jetty.http.HttpCookie
...
Signed-off-by: Bruce MacDonald <brucewmacdonald@gmail.com>
2019-08-20 15:12:03 +10:00
olivier lamy
6f2a93d614
Merge branch 'jetty-9.4.x' into jetty-10.0.x
2019-08-19 13:12:10 +10:00
Olivier Lamy
95f7fddc59
ServletContext#setSessionTrackingModes must throw IAE if SSL and another mode ( #3976 )
...
* according to Javadoc and failing tck tests
ServletContext#setSessionTrackingModes
IllegalArgumentException - if sessionTrackingModes specifies a combination of SessionTrackingMode.SSL with a session tracking mode other than SessionTrackingMode.SSL
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
* test adding only SSL
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
* fixes from Jan review
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
* fix package order
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2019-08-19 12:54:05 +10:00
Joakim Erdfelt
1254f6eb67
Issue #3985 - Fixing RequestTest
...
+ Moving overly bad cookie to CookieCutter_LenientTest
+ Changing expectation in RequestTest.testCookie()
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-08-16 15:57:26 -05:00
Joakim Erdfelt
fba010d33d
Issue #3985 - Updates to CookieCutter to reject no-equal cookies
...
* If a cookie has no value it is rejected and not stored.
- `name` is rejected
- `name=` is accepted, with empty value
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-08-16 13:11:40 -05:00
Joakim Erdfelt
eaf2263053
Issue #3985 - Testcase for CookieCutter parsing issue of bad cookie
...
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-08-15 17:58:53 -05:00
Joakim Erdfelt
50b524bb6b
Merge branch `release-9.4.20` into `jetty-9.4.x`
2019-08-15 07:27:25 -05:00
Jan Bartel
c9c59e71b6
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
2019-08-15 13:47:58 +10:00
Jan Bartel
af6c675023
Issue #3913 Fix races in session request reference counting ( #3947 )
...
* Issue #3913 Fix races in session request reference counting
Signed-off-by: Jan Bartel <janb@webtide.com>
2019-08-15 12:27:18 +10:00
Joakim Erdfelt
3544283865
Merge branch `jetty-9.4.x` into `jetty-10.0.x`
...
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
# Conflicts:
# Jenkinsfile
# jetty-server/src/test/java/org/eclipse/jetty/server/ForwardedRequestCustomizerTest.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/io/AbstractWebSocketConnection.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/io/ReadState.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/io/ReadStateTest.java
# tests/test-distribution/src/test/java/org/eclipse/jetty/tests/distribution/CDITests.java
2019-08-14 09:39:06 -05:00
Simone Bordet
985d98296b
Merged branch 'jetty-10.0.x' into 'jetty-10.0.x-3952-server_direct_heap_bytebuffers'.
2019-08-14 15:45:49 +02:00
Simone Bordet
01af85db42
Issue #3537 - Bootstrapping WebSockets with HTTP/2.
...
Implemented upgrade logic for WebSocket over HTTP/2.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-08-14 14:57:21 +02:00
Joakim Erdfelt
f1efc99918
Updating to version 9.4.21-SNAPSHOT
2019-08-13 17:34:20 -05:00
Joakim Erdfelt
84700530e6
Updating to version 9.4.20.v20190813
2019-08-13 16:13:21 -05:00
Joakim Erdfelt
fec01a4628
Fixes #3969 - Changing TYPE to class from PR review
...
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-08-13 16:00:18 -05:00
Joakim Erdfelt
3940baea9c
Fixes #3969 - Adding comments from PR review
...
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-08-13 15:56:11 -05:00
Joakim Erdfelt
72c05bc8ba
Fixes #3969 - Fixing X-Forwarded-Port header setter
...
+ Fixing ForwardedRequestCustomizer.getForwardedPortHeader()
+ Fixing ForwardedRequestCustomizer.setForwardedPortHeader(String)
+ Refactoring unit tests:
+ Tests default ForwardedRequestCustomizer behavior
on one Connector
+ Tests header configured ForwardedRequestCustomizer behavior
on different Connector
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-08-13 12:39:30 -05:00
Simone Bordet
a700907522
Issue #250 - Implement HTTP CONNECT for HTTP/2. ( #3539 )
...
Fixes #250 - Implement HTTP CONNECT for HTTP/2.
Modified HTTP/2 implementation to support the CONNECT method.
Implemented semantic defined by RFC 8441.
Implemented section 8.3 of RFC 7540.
Introduced HTTP2Client.streamIdleTimeout.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-08-13 19:07:04 +03:00
Joakim Erdfelt
d10fea9b7e
Merge pull request #3970 from eclipse/jetty-9.4.x-3969-xforwarded-host
...
Issue #3969 - adding testcase to verify Host & X-Forwarded behavior
2019-08-13 09:16:08 -05:00
Joakim Erdfelt
4b17d28cb0
Issue #3969 - adding testcase to verify behavior
...
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-08-13 07:30:14 -05:00
Lachlan Roberts
279c382a1f
Merge remote-tracking branch 'eclipse/jetty-9.4.x' into jetty-10.0.x
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-08-13 15:00:38 +10:00
Lachlan
d3bc0b931a
Issue #3957 - fix bad usage of MethodHandles.lookup() ( #3962 )
...
* Issue #3957 - fix bad usage of MethodHandles.lookup()
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
* Issue #3957 CustomRequestLog remove unnecessary local string variables
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-08-13 14:47:39 +10:00
Simone Bordet
20bbeeebdf
Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'.
2019-08-12 17:47:02 +02:00
Simone Bordet
46e1896322
Fixes #3960 - Fix HttpConfiguration copy constructor.
...
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-08-12 17:42:54 +02:00
Simone Bordet
5ccaea3c74
Fixes #3952 - Server configuration for direct/heap ByteBuffers.
...
Updated server-side to use direct/heap ByteBuffers based on
getters and setters in the relevant components.
Made HTTP/1.1, HTTP/2, and WebSocket use the same mechanism.
Removed unused obsoleted methods:
* EndPoint.isOptimizedForDirectBuffers()
* HttpTransport.isOptimizedForDirectBuffers()
* HttpOutput.Interceptor.isOptimizedForDirectBuffers()
* HttpChannel.useDirectBuffers()
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-08-12 17:20:50 +02:00
Simone Bordet
62758122c3
Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'.
2019-08-10 00:39:54 +02:00
Olivier Lamy
503a52273e
Jetty 9.4.x fix some part of the code assuming cast to HttpServletRequest is possible ( #3945 )
...
* code assume request is HttpServletRequest whereas it can be ServletRequestWrapper, this fix some failing tck tests
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
* return directly if the instance is already HttpServlet*Wrapper
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
* checkstyle
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
* changes after review
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
* checkstyle
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
* checkstyle and cleanup import
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2019-08-08 20:46:19 +10:00
Simone Bordet
2e2cde69e9
Merge pull request #3899 from eclipse/jetty-9.4.x-3856-maxForm_contentLength_behavior
...
Fixes #3856 - Different behaviour with maxFormContentSize=0 if Content-Length header is present/missing.
2019-08-07 19:46:49 +03:00
Simone Bordet
632c916608
Fixes #3856 - Different behaviour with maxFormContentSize=0 if Content-Length header is present/missing.
...
Removed duplicated, unused, code.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-08-07 17:35:10 +02:00
Joakim Erdfelt
5dbccaed4e
Merge branch jetty-9.4.x into jetty-10.0.x
2019-08-07 07:43:36 -05:00
Simone Bordet
8418f56e94
Fixes #3856 - Different behaviour with maxFormContentSize=0 if Content-Length header is present/missing.
...
Changed the logic to lookup server attributes if there is no context.
This fixes a failing test that was explicitly setting the server
attributes after start.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-08-02 22:05:07 +02:00
Simone Bordet
2488c9611f
Merged branch 'jetty-9.4.x' into 'jetty-9.4.x-3856-maxForm_contentLength_behavior'.
2019-08-02 19:13:35 +02:00
Simone Bordet
42815a781b
Fixes #3856 - Different behaviour with maxFormContentSize=0 if Content-Length header is present/missing.
...
Updated code to reflect reviews.
Now lookup of system properties and server attributes is done in
ContextHandler.doStart(), so that the getter always return the
actual value (and this is good for JMX too).
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-08-02 19:12:49 +02:00
Joakim Erdfelt
c2f76a6be5
Issue #3906 - Handling SeekableByteChannel.setPosition() Exception
...
+ UnsupportedOperationException now triggers a fallback seek mode
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-07-31 14:36:16 -05:00
Joakim Erdfelt
daba115e32
Merge branch `jetty-9.4.x` into `jetty-10.0.x`
...
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
# Conflicts:
# aggregates/jetty-all-compact3/pom.xml
# jetty-alpn/jetty-alpn-openjdk8-client/pom.xml
# jetty-alpn/jetty-alpn-openjdk8-client/src/main/java/org/eclipse/jetty/alpn/java/client/OpenJDK8ClientALPNProcessor.java
# jetty-alpn/jetty-alpn-openjdk8-server/pom.xml
# jetty-alpn/jetty-alpn-openjdk8-server/src/main/java/org/eclipse/jetty/alpn/openjdk8/server/OpenJDK8ServerALPNProcessor.java
# jetty-annotations/src/main/config/etc/jetty-annotations.xml
# jetty-cdi/src/main/config/etc/cdi2/jetty-cdi2.xml
# jetty-cdi/src/main/config/etc/cdi2/jetty-web-cdi2.xml
# jetty-continuation/pom.xml
# jetty-continuation/src/main/java/org/eclipse/jetty/continuation/Continuation.java
# jetty-continuation/src/main/java/org/eclipse/jetty/continuation/ContinuationFilter.java
# jetty-continuation/src/main/java/org/eclipse/jetty/continuation/ContinuationListener.java
# jetty-continuation/src/main/java/org/eclipse/jetty/continuation/ContinuationSupport.java
# jetty-continuation/src/main/java/org/eclipse/jetty/continuation/ContinuationThrowable.java
# jetty-continuation/src/main/java/org/eclipse/jetty/continuation/FauxContinuation.java
# jetty-continuation/src/main/java/org/eclipse/jetty/continuation/Servlet3Continuation.java
# jetty-http/src/main/java/org/eclipse/jetty/http/HttpComplianceSection.java
# jetty-http/src/main/java/org/eclipse/jetty/http/PathMap.java
# jetty-http/src/test/java/org/eclipse/jetty/http/HttpTesterTest.java
# jetty-http/src/test/java/org/eclipse/jetty/http/PathMapTest.java
# jetty-http2/http2-alpn-tests/pom.xml
# jetty-http2/http2-alpn-tests/src/test/java/org/eclipse/jetty/http2/alpn/tests/ALPNNegotiationTest.java
# jetty-http2/http2-alpn-tests/src/test/java/org/eclipse/jetty/http2/alpn/tests/AbstractALPNTest.java
# jetty-infinispan/infinispan-common/src/main/java/org/eclipse/jetty/session/infinispan/WebAppMarshaller.java
# jetty-jaspi/src/main/java/org/eclipse/jetty/security/jaspi/modules/ClientCertAuthModule.java
# jetty-jaspi/src/main/java/org/eclipse/jetty/security/jaspi/modules/DigestAuthModule.java
# jetty-jaspi/src/main/java/org/eclipse/jetty/security/jaspi/modules/FormAuthModule.java
# jetty-jmh/src/main/java/org/eclipse/jetty/http/jmh/MultiPartBenchmark.java
# jetty-jmh/src/main/java/org/eclipse/jetty/server/jmh/ForwardBenchmark.java
# jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootHTTP2.java
# jetty-overlay-deployer/pom.xml
# jetty-overlay-deployer/src/main/config/etc/jetty-overlay.xml
# jetty-overlay-deployer/src/main/java/org/eclipse/jetty/overlays/OverlayedAppProvider.java
# jetty-overlay-deployer/src/main/java/org/eclipse/jetty/overlays/TemplateContext.java
# jetty-overlay-deployer/src/test/java/org/eclipse/jetty/overlays/OverlayServer.java
# jetty-overlay-deployer/src/test/java/org/eclipse/jetty/overlays/OverlayedAppProviderTest.java
# jetty-overlay-deployer/src/test/resources/home/overlays/instances/myfoo=blue/WEB-INF/overlay.xml
# jetty-overlay-deployer/src/test/resources/home/overlays/instances/myfoo=green/WEB-INF/overlay.xml
# jetty-overlay-deployer/src/test/resources/home/overlays/instances/myfoo=red/WEB-INF/overlay.xml
# jetty-overlay-deployer/src/test/resources/home/overlays/instances/root=root/WEB-INF/overlay.xml
# jetty-overlay-deployer/src/test/resources/home/overlays/templates/myfoo=foo/WEB-INF/jetty-web.xml
# jetty-overlay-deployer/src/test/resources/home/overlays/templates/myfoo=foo/WEB-INF/template.xml
# jetty-overlay-deployer/src/test/resources/home/overlays/templates/root/WEB-INF/overlay.xml
# jetty-security/src/main/java/org/eclipse/jetty/security/SpnegoLoginService.java
# jetty-security/src/main/java/org/eclipse/jetty/security/authentication/SpnegoAuthenticator.java
# jetty-server/src/main/config/etc/jetty-customrequestlog.xml
# jetty-server/src/main/config/etc/jetty-ipaccess.xml
# jetty-server/src/main/java/org/eclipse/jetty/server/AbstractNCSARequestLog.java
# jetty-server/src/main/java/org/eclipse/jetty/server/ConnectorStatistics.java
# jetty-server/src/main/java/org/eclipse/jetty/server/MultiPartFormDataCompliance.java
# jetty-server/src/main/java/org/eclipse/jetty/server/NCSARequestLog.java
# jetty-server/src/main/java/org/eclipse/jetty/server/PushBuilder.java
# jetty-server/src/main/java/org/eclipse/jetty/server/Slf4jRequestLog.java
# jetty-server/src/main/java/org/eclipse/jetty/server/handler/IPAccessHandler.java
# jetty-server/src/test/java/org/eclipse/jetty/server/handler/IPAccessHandlerTest.java
# jetty-servlets/src/main/java/org/eclipse/jetty/servlets/GzipFilter.java
# jetty-servlets/src/main/java/org/eclipse/jetty/servlets/MultiPartFilter.java
# jetty-servlets/src/test/java/org/eclipse/jetty/servlets/GzipFilterLayeredTest.java
# jetty-servlets/src/test/java/org/eclipse/jetty/servlets/MultipartFilterTest.java
# jetty-unixsocket/src/main/config/etc/jetty-unixsocket-forwarded.xml
# jetty-unixsocket/src/main/config/etc/jetty-unixsocket-http2c.xml
# jetty-unixsocket/src/main/java/org/eclipse/jetty/unixsocket/client/HttpClientTransportOverUnixSockets.java
# jetty-util/src/main/java/org/eclipse/jetty/util/B64Code.java
# jetty-util/src/main/java/org/eclipse/jetty/util/ConcurrentHashSet.java
# jetty-util/src/main/java/org/eclipse/jetty/util/IPAddressMap.java
# jetty-util/src/main/java/org/eclipse/jetty/util/ModuleLocation.java
# jetty-util/src/main/java/org/eclipse/jetty/util/MultiPartInputStreamParser.java
# jetty-util/src/main/java/org/eclipse/jetty/util/ReadLineInputStream.java
# jetty-util/src/main/java/org/eclipse/jetty/util/resource/FileResource.java
# jetty-util/src/test/java/org/eclipse/jetty/util/B64CodeTest.java
# jetty-util/src/test/java/org/eclipse/jetty/util/CollectionAssert.java
# jetty-util/src/test/java/org/eclipse/jetty/util/IPAddressMapTest.java
# jetty-util/src/test/java/org/eclipse/jetty/util/MultiPartInputStreamTest.java
# jetty-util/src/test/java/org/eclipse/jetty/util/ReadLineInputStreamTest.java
# jetty-webapp/src/main/java/org/eclipse/jetty/webapp/JarScanner.java
# jetty-webapp/src/test/java/org/eclipse/jetty/webapp/WebInfConfigurationTest.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/AbstractJsrRemote.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/ClientContainer.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/DecoderFactory.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/EncoderFactory.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/JettyClientContainerProvider.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/JsrBasicRemote.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/JsrSession.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/JsrSessionFactory.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/JsrUpgradeListener.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/MessageHandlerFactory.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/MessageHandlerWrapper.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/AnnotatedEndpointMetadata.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/AnnotatedEndpointScanner.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/IJsrMethod.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/IJsrParamId.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/JsrCallable.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/JsrEvents.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/JsrParamIdBinary.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/JsrParamIdDecoder.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/JsrParamIdOnClose.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/JsrParamIdOnError.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/JsrParamIdOnOpen.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/JsrParamIdPong.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/JsrParamIdText.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/OnCloseCallable.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/OnErrorCallable.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/OnMessageBinaryCallable.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/OnMessageBinaryStreamCallable.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/OnMessageCallable.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/OnMessagePongCallable.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/OnMessageTextCallable.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/OnMessageTextStreamCallable.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/OnOpenCallable.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/Param.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/client/AnnotatedClientEndpointMetadata.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/client/JsrClientEndpointImpl.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/client/SimpleEndpointMetadata.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/decoders/PrimitiveDecoderMetadataSet.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/encoders/DefaultTextStreamEncoder.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/encoders/PrimitiveEncoderMetadataSet.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/endpoints/AbstractJsrEventDriver.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/endpoints/JsrAnnotatedEventDriver.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/endpoints/JsrEndpointEventDriver.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/endpoints/JsrEndpointImpl.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/messages/BinaryPartialMessage.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/messages/BinaryPartialOnMessage.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/messages/BinaryWholeMessage.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/messages/TextPartialMessage.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/messages/TextPartialOnMessage.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/metadata/CoderMetadata.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/metadata/CoderMetadataSet.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/metadata/DecoderMetadata.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/metadata/DecoderMetadataSet.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/metadata/EncoderMetadata.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/metadata/EncoderMetadataSet.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/metadata/EndpointMetadata.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/utils/Primitives.java
# jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/AnnotatedEchoTest.java
# jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/AnnotatedEndpointClient.java
# jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/AnnotatedEndpointConfigurator.java
# jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/CookiesTest.java
# jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/DecoderFactoryTest.java
# jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/DecoderReaderManySmallTest.java
# jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/DecoderReaderTest.java
# jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/EncoderFactoryTest.java
# jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/EncoderTest.java
# jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/EndpointEchoClient.java
# jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/EndpointEchoTest.java
# jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/JsrSessionTest.java
# jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/LargeMessageTest.java
# jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/MessageHandlerFactoryTest.java
# jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/MessageQueue.java
# jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/MessageReceivingTest.java
# jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/annotations/JsrParamIdDecoderTest.java
# jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/decoders/PrimitiveDecoderMetadataSetTest.java
# jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/demo/ExampleClient.java
# jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/endpoints/ClientAnnotatedEndpointScanner_GoodSignaturesTest.java
# jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/endpoints/ClientAnnotatedEndpointScanner_InvalidSignaturesTest.java
# jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/endpoints/OnCloseTest.java
# jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/endpoints/TrackingSocket.java
# jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/endpoints/samples/BasicBinaryMessageByteBufferSocket.java
# jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/endpoints/samples/BasicErrorSessionSocket.java
# jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/endpoints/samples/BasicErrorSessionThrowableSocket.java
# jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/endpoints/samples/BasicErrorThrowableSessionSocket.java
# jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/endpoints/samples/BasicErrorThrowableSocket.java
# jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/endpoints/samples/BasicInputStreamSocket.java
# jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/endpoints/samples/BasicOpenCloseSocket.java
# jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/endpoints/samples/BasicPongMessageSocket.java
# jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/endpoints/samples/BasicTextMessageStringSocket.java
# jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/endpoints/samples/InvalidCloseIntSocket.java
# jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/endpoints/samples/InvalidErrorErrorSocket.java
# jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/endpoints/samples/InvalidErrorIntSocket.java
# jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/endpoints/samples/InvalidOpenCloseReasonSocket.java
# jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/endpoints/samples/InvalidOpenIntSocket.java
# jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/endpoints/samples/InvalidOpenSessionIntSocket.java
# jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/metadata/DecoderMetadataSetTest.java
# jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/metadata/EncoderMetadataSetTest.java
# jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/misbehaving/MisbehavingClassTest.java
# jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/utils/TypeTree.java
# jetty-websocket/javax-websocket-server-impl/pom.xml
# jetty-websocket/javax-websocket-server-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/server/AnnotatedServerEndpointMetadata.java
# jetty-websocket/javax-websocket-server-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/server/JsrPathParamId.java
# jetty-websocket/javax-websocket-server-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/server/JsrServerEndpointImpl.java
# jetty-websocket/javax-websocket-server-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/server/JsrServerExtendsEndpointImpl.java
# jetty-websocket/javax-websocket-server-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/server/ServerContainer.java
# jetty-websocket/javax-websocket-server-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/server/ServerEndpointMetadata.java
# jetty-websocket/javax-websocket-server-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/server/SimpleServerEndpointMetadata.java
# jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/AnnotatedServerEndpointTest.java
# jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/BasicEndpointTest.java
# jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/BinaryStreamTest.java
# jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/ConfiguratorTest.java
# jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/DelayedStartClientOnServerTest.java
# jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/EchoCase.java
# jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/EchoClientSocket.java
# jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/EchoTest.java
# jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/ExtensionStackProcessingTest.java
# jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/IdleTimeoutTest.java
# jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/LargeAnnotatedTest.java
# jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/LargeClientContainerServlet.java
# jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/LargeContainerTest.java
# jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/LargeNestedClientContainerTest.java
# jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/LargeOnOpenSessionConfiguredTest.java
# jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/LargeServerContainerAsClientContainerServlet.java
# jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/OnMessageReturnTest.java
# jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/OnPartialTest.java
# jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/PingPongTest.java
# jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/ServerAnnotatedEndpointScanner_GoodSignaturesTest.java
# jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/ServerAnnotatedEndpointScanner_InvalidSignaturesTest.java
# jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/SessionAltConfig.java
# jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/SessionInfoEndpoint.java
# jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/SessionInfoSocket.java
# jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/SessionTest.java
# jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/TextStreamTest.java
# jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/TrackingSocket.java
# jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/samples/InvalidErrorExceptionSocket.java
# jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/samples/beans/DateTimeEncoder.java
# jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/samples/beans/TimeDecoder.java
# jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/ConcurrentConnectTest.java
# jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/WebSocketNegotiationTest.java
# jetty-websocket/websocket-api/pom.xml
# jetty-websocket/websocket-api/src/main/java/org/eclipse/jetty/websocket/api/RemoteEndpoint.java
# jetty-websocket/websocket-api/src/main/java/org/eclipse/jetty/websocket/api/WebSocketPolicy.java
# jetty-websocket/websocket-api/src/main/java/org/eclipse/jetty/websocket/api/extensions/ExtensionConfig.java
# jetty-websocket/websocket-api/src/main/java/org/eclipse/jetty/websocket/api/util/QuoteUtil.java
# jetty-websocket/websocket-api/src/test/java/org/eclipse/jetty/websocket/api/util/QuoteUtilTest.java
# jetty-websocket/websocket-api/src/test/java/org/eclipse/jetty/websocket/api/util/QuoteUtil_QuoteTest.java
# jetty-websocket/websocket-client/pom.xml
# jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/ClientUpgradeRequest.java
# jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/ClientUpgradeResponse.java
# jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/DefaultHttpClientProvider.java
# jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/HttpClientProvider.java
# jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/WebSocketClient.java
# jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/WebSocketUpgradeRequest.java
# jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/io/ConnectionManager.java
# jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/io/WebSocketClientConnection.java
# jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/masks/FixedMasker.java
# jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/masks/RandomMasker.java
# jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/package-info.java
# jetty-websocket/websocket-client/src/test/java/org/eclipse/jetty/websocket/client/ConnectionManagerTest.java
# jetty-websocket/websocket-client/src/test/java/org/eclipse/jetty/websocket/client/CookieTest.java
# jetty-websocket/websocket-client/src/test/java/org/eclipse/jetty/websocket/client/JettyTrackingSocket.java
# jetty-websocket/websocket-client/src/test/java/org/eclipse/jetty/websocket/client/MaxMessageSocket.java
# jetty-websocket/websocket-client/src/test/java/org/eclipse/jetty/websocket/client/TomcatServerQuirksTest.java
# jetty-websocket/websocket-client/src/test/java/org/eclipse/jetty/websocket/client/WebSocketClientBadUriTest.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/BlockingWriteCallback.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/CloseInfo.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/Generator.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/LogicalConnection.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/Parser.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/UpgradeResponseAdapter.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/WebSocketFrame.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/WebSocketRemoteEndpoint.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/WebSocketSession.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/WebSocketSessionFactory.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/events/AbstractEventDriver.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/events/EventDriver.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/events/EventDriverFactory.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/events/EventDriverImpl.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/events/JettyAnnotatedEventDriver.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/events/JettyAnnotatedImpl.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/events/JettyAnnotatedMetadata.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/events/JettyAnnotatedScanner.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/events/JettyListenerEventDriver.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/events/JettyListenerImpl.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/events/annotated/AbstractMethodAnnotationScanner.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/events/annotated/CallableMethod.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/events/annotated/EventMethod.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/events/annotated/EventMethods.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/events/annotated/InvalidSignatureException.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/events/annotated/OptionalSessionCallableMethod.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/extensions/ExtensionStack.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/extensions/WebSocketExtensionFactory.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/frames/CloseFrame.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/frames/ContinuationFrame.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/frames/ControlFrame.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/frames/DataFrame.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/frames/PongFrame.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/io/AbstractWebSocketConnection.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/io/ConnectionState.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/io/FrameFlusher.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/io/FramePipes.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/io/ReadState.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/io/http/HttpResponseHeaderParser.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/io/payload/DeMaskProcessor.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/io/payload/PayloadProcessor.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/message/MessageAppender.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/message/MessageInputStream.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/message/SimpleBinaryMessage.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/scopes/DelegatedContainerScope.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/scopes/SimpleContainerScope.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/scopes/WebSocketContainerScope.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/util/Utf8PartialBuilder.java
# jetty-websocket/websocket-common/src/test/java/examples/AdapterConnectCloseSocket.java
# jetty-websocket/websocket-common/src/test/java/examples/AnnotatedFramesSocket.java
# jetty-websocket/websocket-common/src/test/java/examples/AnnotatedStreamingSocket.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/AcceptHashTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/CloseInfoTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/ClosePayloadParserTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/GeneratorTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/ParserTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/PingPayloadParserTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/RFC6455ExamplesGeneratorTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/RFC6455ExamplesParserTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/SaneFrameOrderingAssertion.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/TextPayloadParserTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/UpgradeResponseAdapterTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/WebSocketFrameTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/WebSocketRemoteEndpointTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/ab/TestABCase1_1.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/ab/TestABCase1_2.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/ab/TestABCase2.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/ab/TestABCase3.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/ab/TestABCase4.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/ab/TestABCase7_3.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/events/EventCapture.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/events/EventDriverFactoryTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/events/EventDriverTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/events/JettyAnnotatedScannerTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/extensions/DummyOutgoingFrames.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/extensions/ExtensionStackTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/extensions/ExtensionTool.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/extensions/compress/ByteAccumulatorTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/io/FrameFlusherTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/io/LocalWebSocketSession.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/io/http/HttpResponseHeaderParserTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/io/http/HttpResponseParseCapture.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/io/payload/DeMaskProcessorTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/message/MessageDebug.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/message/MessageInputStreamTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/message/MessageOutputStreamTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/message/MessageWriterTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/message/TrackingInputStreamSocket.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/message/TrackingSocket.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/test/BlockheadClientRequest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/test/BlockheadConnection.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/test/BlockheadServer.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/test/ByteBufferAssert.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/test/DummyConnection.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/test/Fuzzer.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/test/HttpResponse.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/test/IncomingFramesCapture.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/test/MoreMatchers.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/test/OutgoingFramesCapture.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/test/UnitGenerator.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/test/UnitParser.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/util/Hex.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/util/MaskedByteBuffer.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/util/ReflectUtilsTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/util/Utf8PartialBuilderTest.java
# jetty-websocket/websocket-server/pom.xml
# jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/HandshakeRFC6455.java
# jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/MappedWebSocketCreator.java
# jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/NativeWebSocketConfiguration.java
# jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/NativeWebSocketServletContainerInitializer.java
# jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/WebSocketHandler.java
# jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/WebSocketServerConnection.java
# jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/WebSocketServerFactory.java
# jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/WebSocketUpgradeFilter.java
# jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/WebSocketUpgradeHandlerWrapper.java
# jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/pathmap/RegexPathSpec.java
# jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/pathmap/ServletPathSpec.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/AnnotatedMaxMessageSizeTest.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ChromeTest.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/DecoratorsLegacyTest.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/DecoratorsTest.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/FirefoxTest.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/FragmentExtensionTest.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/IdentityExtensionTest.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/IdleTimeoutTest.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/InfoContextAltAttributeListener.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/InfoContextAttributeListener.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/InfoContextListener.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/InfoServlet.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/InfoSocket.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/PerMessageDeflateExtensionTest.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/RequestHeadersTest.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/SimpleServletServer.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/SubProtocolTest.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/TooFastClientTest.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/WSServer.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/WebSocketInvalidVersionTest.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/WebSocketOverSSLTest.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/WebSocketProtocolTest.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/WebSocketServerFactoryTest.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/WebSocketServerSessionTest.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/WebSocketServletRFCTest.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/WebSocketUpgradeFilterTest.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/ABSocket.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/AbstractABCase.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase1.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase2.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase3.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase4.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase5.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase6.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase6_BadUTF.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase6_GoodUTF.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase7.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase7_BadStatusCodes.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase7_GoodStatusCodes.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase9.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/browser/BrowserDebugTool.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/examples/BasicEchoSocket.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/examples/echo/BigEchoSocket.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/examples/echo/EchoBroadcastPingSocket.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/examples/echo/EchoFragmentSocket.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/examples/echo/ExampleEchoServer.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/examples/echo/LogSocket.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/helper/CaptureSocket.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/helper/EchoServlet.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/helper/EchoSocket.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/helper/RFCSocket.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/helper/SafariD00.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/helper/SessionSocket.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/misbehaving/MisbehavingClassTest.java
# jetty-websocket/websocket-server/src/test/resources/wsuf-config-via-listener.xml
# jetty-websocket/websocket-server/src/test/resources/wsuf-config-via-servlet-init.xml
# tests/test-continuation/src/test/java/org/eclipse/jetty/continuation/ContinuationsTest.java
2019-07-30 20:08:25 -05:00
Joakim Erdfelt
95298d89e9
Merge pull request #3910 from eclipse/jetty-9.4.x-3840-pathresource-byterange
...
Issue #3840 Static resource byte-range support performance
2019-07-30 20:04:06 -05:00
Joakim Erdfelt
dc4b7b1791
Merge pull request #3889 from eclipse/jetty-9.4.x-3888-huge-resources
...
Issue #3888 - Huge file Resources behaviors
2019-07-30 20:03:34 -05:00
Joakim Erdfelt
602c44ec96
Issue #3888 - Adding comment from PR review
...
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-07-30 20:02:18 -05:00
Joakim Erdfelt
7a867c0ff0
Issue #3840 - Applying ByteBuffer niggle from PR review
...
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-07-30 19:59:49 -05:00
Joakim Erdfelt
ed8d9cabff
Issue #3840 - Simplifying ResourceService
...
+ Removing unnecessary variables (per PR review)
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-07-30 17:12:38 -05:00
Joakim Erdfelt
b2ec6dd1af
Issue #3840 - Fixing for InputStream.skip() behaviors
...
+ Reset progress on any positive skip value
+ Throw IOException(EOF) for any negative skip value
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-07-30 17:11:27 -05:00
Joakim Erdfelt
5129f2c9ff
Issue #3840 - InputStream.skip() rules must be followed
...
+ break out if progress isn't made, loop if not enough
progress is made
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-07-30 13:00:03 -05:00
Gili Tzabari
33bd4e6bc0
Updated PR in response to comments.
...
Signed-off-by: Gili Tzabari <cowwoc2020@gmail.com>
2019-07-30 12:50:45 -04:00
Gili Tzabari
d3cbd36fe0
Added Javadoc.
...
Signed-off-by: Gili Tzabari <cowwoc2020@gmail.com>
2019-07-30 11:46:30 -04:00
Jan Bartel
b734c373e8
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
2019-07-29 14:34:52 +10:00
mpe85
bb639817a3
Made loading of blobs from database more robust ( #3895 )
...
Signed-off-by: mpe85 <marco.perazzo85@gmail.com>
2019-07-29 14:33:40 +10:00
Joakim Erdfelt
e5bce5f7cd
Issue #3840 - Static resource byte-range support performance
...
+ Reverting toFile().getInputStream() on PathResource
+ Adding RangeWriter concept for managing open resource
across multiple range writes
+ RangeWriter implementation delegates to HttpContent behaviors
Lookup is :
- Direct Buffer
- Indirect Buffer
- ReadableByteChannel (as SeekableByteChannel)
- InputStream
+ Adding unit tests for all RangeWriter implementation to ensure
that they behave the same way everywhere.
+ Making ResourceService use new RangeWriter implementation
+ Existing DefaultServletRangeTest still works as-is
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-07-26 12:36:31 -05:00