Commit Graph

20685 Commits

Author SHA1 Message Date
Simone Bordet 267039f3f5 Improvements to the Jetty server documentation.
Added section on JMX.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-05-03 21:19:10 +02:00
Jan Bartel f154151016
Jetty 10.0.x 4825 pushbuilder (#4829)
* Issue #4825 Implement spec requirements for Request.newPushBuilder

Signed-off-by: Jan Bartel <janb@webtide.com>
2020-05-01 11:07:06 +02:00
olivier lamy fe28b33166 Merge branch 'jetty-9.4.x' into jetty-10.0.x 2020-05-01 13:06:05 +10:00
Olivier Lamy abb26d0781
Jetty 9.4.x hazelcast fix non needed dependency (#4832)
* no need to websocket dependency in jetty-hazelcast

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

* fix dependency

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2020-05-01 11:21:42 +10:00
Simone Bordet fa94cc2f6c Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'. 2020-04-29 17:07:25 +02:00
Simone Bordet ac97bc3b31
Merge pull request #4803 from lorban/jetty-9.4.x-channel-recycling-h2
Solve lock contention creating HTTP2 streams (#2188) …
2020-04-29 15:18:50 +02:00
Ludovic Orban 6729a6f689 Solve lock contention creating HTTP2 streams (#2188) while fixing race condition that breaks http channels recycling (#4695)
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2020-04-29 14:25:51 +02:00
Greg Wilkins 81c46638cd
Jetty 10.0.x 4814 configuring connection factory (#4815)
* Issue #4814 Configuring Connection Factory

Redo of this PR without Attributes improvements (moved to #4816).
Add a ConnectionFactory.Configuring interface to all connectors to be configured during doStart.
I have some concern about shared HttpConfigurations.

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* updates from review

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2020-04-29 11:45:08 +02:00
olivier lamy 4a4626614c ooops checkstyle
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2020-04-29 15:22:35 +10:00
olivier lamy c5f8cf2f6a add a parameter to add jvm args
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2020-04-29 14:11:41 +10:00
Joakim Erdfelt 1b5ad92d36
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-04-28 13:46:12 -05:00
Joakim Erdfelt 3998e657cc
Merge remote-tracking branch 'origin/jetty-9.3.x' into jetty-9.4.x 2020-04-28 13:45:29 -05:00
Joakim Erdfelt 85e3a4b5a6
Merge remote-tracking branch 'origin/jetty-9.2.x' into jetty-9.3.x 2020-04-28 13:44:12 -05:00
Joakim Erdfelt ce78b195d1
Merge pull request #4811 from eclipse/jetty-9.2.x-old-android-workarounds
Issue #4819 - Workarounds for old (pre API 24) Android SDKs
2020-04-28 11:31:12 -05:00
Greg Wilkins 8c7e34f37d
Jetty 10.0.x immutable meta data (#4777)
Made HttpURI, HttpFields and MetaData immutable.  The first two follow the same builder pattern and MetaData is constructor injection only.

* Immutable version of HttpFields

Preserve API and usage of HttpFields class while providing a read only interface and immutable implementation.

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable version of HttpFields

Use an ArrayList in HttpFields. While slightly slower than the array, it will mostly be used as a builder pattern for an Immutable

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable version of HttpFields

Fixed exception type.

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable version of HttpFields

asImmutable method

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData

Made HttpURIU immutable with a builder pattern.
MetaData immutable and working within http module.

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData

Fixes from review

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData

Passing tests upto and including jetty-server

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData

Cleanup of HttpURI.Builder API as suggested in PR.

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData

Added builder for MetaData.Request

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData

more api fixes

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData

WIP making HttpFiels itself immutable.  Currently working up to jetty-servlet.

Need to consider if content-length really is meta data and how much and when can we trust it.

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData

WIP

Need to consider if content-length really is meta data and how much and when can we trust it. Also need to consider difference between h2 and h1 authority in metadata.

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData WIP

jetty-client and jetty-servlet passing tests.

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData WIP

Better align the style of immutability between `HttpFields` and `HttpURI`.
They both now have static build() and from() methods, plus Builder and Immutable implementations.
Potentially `Builder` could be renamed as `Mutable`

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData WIP

http2-server tests passed

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData WIP

http2-client tests passed

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData WIP

cleann build?

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData WIP

fix

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData WIP

more test fixes

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData WIP

Cleanups, mostly using EMPTY when appropriate.

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData WIP

Cleanups, use immutable

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData WIP

No trailers for connect

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData WIP

Fix CONNECT path handling

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData WIP

fixed rewrite query handling

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData WIP

rename Builders to Muttables

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData WIP

misc cleanups

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData WIP

Revert to using arrays due to garbage generated by streams and iterators (12% of a simple benchmark!).
Even if this garbage is an artifact of the JIT being disabled by observation, it can hide other allocations, so best to just use simple arrays!

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData WIP

More optimizations and better test coverage.

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable Metadata

various cleanups

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData WIP

More optimizations

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData WIP

review changes

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData WIP

changes after review:
 + less usage of Mutable
 + more usage of EMPTY
 + restored fragment handling

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData WIP

changes after review:
 + less usage of Mutable
 + less usage of asImmutable

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData WIP

changes after review:
 + less usage of Mutable

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData

changes after review:
 + better handling of URI in ContextHandler

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData

changes after review:
 + downcast in test to access mutable response headers.

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData

changes after review:
 + use put instead of add for one time headers

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* private

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2020-04-28 13:36:44 +02:00
Jan Bartel 4bf80d9653 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-04-28 11:40:20 +02:00
Jan Bartel e2af6419ae
Issue #4820 jetty-deployer.xml should be jetty-deploy.xml for osgi (#4821)
Signed-off-by: Jan Bartel <janb@webtide.com>
2020-04-28 11:38:38 +02:00
Greg Wilkins ef4d1fac04 fixed bad merge
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2020-04-28 10:52:02 +02:00
Greg Wilkins eacb79f4e7 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2020-04-28 10:29:41 +02:00
Greg Wilkins 8fcbf6d590
Improve Attributes Handling (#4816)
* Spun out from #4814 Improve Attributes Handling

Improve attribute handling to reduce garbage and improve lookup.
Introduced a Wrapper so that request can remove any layers on reset.

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Issue #4814 - Exposing AttributeMap.getAttributeNameSet() on Attributes.

The underlying AttributesMap already has a .getAttributeNameSet()
method, expose it on the Attributes interface.

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>

* Allow a set to override a secure attribute.

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Issue #4814 - Attributes.getAttributeNames() is now defaulted

The Attributes.getAttributeNames() will use the
.getAttributeNameSet() by default now.

Updated all Attributes.Wrapper impls to use this new behavior

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>

Co-authored-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-04-28 10:16:29 +02:00
Simone Bordet 8fec7b1530 Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'. 2020-04-27 23:30:55 +02:00
Simone Bordet 797d8fa9a2 Improvements to the Jetty server documentation.
Added section on WebAppContext class loading.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-04-27 23:29:51 +02:00
Simone Bordet 8929791e6c
Merge pull request #4791 from eclipse/jetty-9.4.x-4787-mutable_host_port_client_request
Fixes #4787 - Make org.eclipse.jetty.client.HttpRequest's host name w…
2020-04-27 23:29:29 +02:00
Jan Bartel ef9d3eba0a Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-04-27 16:14:27 +02:00
Jan Bartel 3c1f42c1c7 Issue #4818
Signed-off-by: Jan Bartel <janb@webtide.com>
2020-04-27 16:12:44 +02:00
Joakim Erdfelt 26e6979ce2
Issue #4819 - Rework SSL/TLS methods to allow use on Android API 23 (or older)
* Workaround missing SSLEngine.getHandshakeSession()
* Workaround missing SSLParameters.setEndpointIdentificationAlgorithm()

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-04-27 09:00:50 -05:00
Jan Bartel 086bced50a Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
Signed-off-by: Jan Bartel <janb@webtide.com>
2020-04-27 16:00:50 +02:00
Jan Bartel b593f67048 Issue #4818 Fix jsp doc
Signed-off-by: Jan Bartel <janb@webtide.com>
2020-04-27 15:52:28 +02:00
Jan Bartel 7bd374b78d Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-04-27 15:36:17 +02:00
Jan Bartel ed486f1d3e Issue #4817 Fix jsp doco
Signed-off-by: Jan Bartel <janb@webtide.com>
2020-04-27 15:32:51 +02:00
Jan Bartel 8153efc2e6
Issue #4794 Test for asyncIsStarted for setReadListener (#4804)
Signed-off-by: Jan Bartel <janb@webtide.com>
2020-04-24 10:01:04 +02:00
Lachlan 53246f977c
Merge pull request #4750 from eclipse/jetty-10.0.x-4747-WebSocketTCK
Issue #4747 - fix some test failures for jetty-10 with websocket tck
2020-04-23 10:22:02 +10:00
Simone Bordet 1d96dda43f Improvements to the Jetty server documentation.
Added section on troubleshooting.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-04-22 13:38:20 +02:00
Lachlan Roberts c6e58e693b Issue #4747 - changes from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-04-22 18:10:49 +10:00
Lachlan Roberts b51a0ad458 Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-4747-WebSocketTCK 2020-04-22 17:39:41 +10:00
Simone Bordet 13094fa912 Improvements to the Jetty server documentation.
Added section on the components architecture.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-04-22 09:30:38 +02:00
olivier lamy 72cb9bf3d8 Merge branch 'jetty-9.4.x' into jetty-10.0.x 2020-04-22 15:14:43 +10:00
olivier lamy 32aa5d6453 not sure if it is used but at least we will not hit this repo when building
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2020-04-22 14:52:14 +10:00
olivier lamy 557b493588 tests fixed
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2020-04-22 10:24:16 +10:00
olivier lamy 6d4d7393fc do not test anymore if LinkageError is not there because it is there with java14 but still working...
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2020-04-22 10:23:45 +10:00
Lachlan Roberts 73382fe430 Issue #4800 - disable test DistributionTests.testSimpleWebAppWithWebsocket()
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-04-22 09:42:00 +10:00
Jan Bartel 8516240c03 Tidy up osgi test code, add more to README.txt
Signed-off-by: Jan Bartel <janb@webtide.com>
2020-04-21 16:51:58 +02:00
Joakim Erdfelt d1163261a0
Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-4747-WebSocketTCK 2020-04-21 09:07:31 -05:00
Jan Bartel 74b6694075
Jetty 10.0.x 4794 http input set read listener (#4796)
* Issue #4794 HttpInput.setReadListener should check async state

Signed-off-by: Jan Bartel <janb@webtide.com>
2020-04-21 15:24:40 +02:00
Lachlan f23236b09d
Merge pull request #4775 from eclipse/jetty-10.0.x-4771-WebSocketMessageHandlerTests
Issue #4771 - cleanup and add tests for the unused ws message handlers
2020-04-20 08:43:39 +10:00
Simone Bordet be4cbd69c1 Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'. 2020-04-19 16:50:04 +02:00
Simone Bordet fe7f71fda1 Excluding the "external" tests to make builds in Jenkins more reliable.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-04-19 16:47:49 +02:00
Simone Bordet 78e697d0a0 Fixes #4787 - Make org.eclipse.jetty.client.HttpRequest's host name writable.
For some historical reason, host and port were not mutable after the request
was created. Since many other key parameters are mutable (e.g. the scheme)
it makes sense to make host and port mutable too.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-04-18 21:52:27 +02:00
Simone Bordet 100e36b7e8 Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'. 2020-04-18 16:24:15 +02:00
Simone Bordet 15f7e0671b Issue #4443 - Track backport of ALPN APIs to Java 8.
Removed Java 8 profiles, not needed anymore.
Jetty 9.4.x requires Java 9+ to be built, in order to build Java 9 specific modules.
The ALPN boot jar used in tests was either replaced by the ALPN agent or the tests only run in Java 9+.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-04-18 16:21:36 +02:00