Commit Graph

20898 Commits

Author SHA1 Message Date
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 f9a215f18d
Merge branch 'origin/jetty-10.0.x' into jetty-10.0.x-4770-simplify-gzip-testing 2020-04-28 11:33:31 -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
Simone Bordet 952a20f81c Issue #4798 - Better handling of fatal Selector failures.
Implemented selector recovery by transferring
all keys to a newly created selector.

Updated code so that it does not assume that the
SelectionKey never changes.
2020-04-27 23:19:06 +02:00
Simone Bordet 46ad90598c Code cleanups. 2020-04-27 22:57:57 +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
Lachlan Roberts c8a1dacdd0 Issue #4800 - Improve WS DistributionTest to also test working webapp
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-04-27 10:54:06 +10:00
Lachlan Roberts 64beae3382 Issue #4800 - test both cases individually
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-04-24 20:16:19 +10: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 Roberts fb85c71f8d Issue #4800 - invalid PathParam types should be reported at Deployment
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-04-24 17:11:23 +10:00
Lachlan Roberts 870a765464 Issue #4800 - prevent LinkageErrors for WS lookup on JDK 14
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-04-24 13:31:29 +10:00
Lachlan Roberts f5b0dc56d2 Issue #4800 - Reproduce LinkageError in WebSocket unit test
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-04-24 13:14:42 +10:00
Lachlan Roberts 7c2d804ce9 Change the WSServer to allow deployment of multiple webapps
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-04-24 10:18:24 +10:00
Lachlan Roberts 6ee0f2ebbc Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-WebSocketServlet 2020-04-23 13:53:10 +10: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
Joakim Erdfelt e2ca0bae8f
Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-4770-simplify-gzip-testing 2020-04-22 08:58:39 -05: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 33a5db0618 Issue #4722 - fix typo for websocket-util-server jar
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-04-22 21:27:25 +10: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
Lachlan Roberts b58697817f Issue #4722 - create new module websocket-util-server
- This module contains the WebSocketUpgradeFilter.
- Also has an internal package with the components used
  to implement websocket upgrades common to both the
  jetty and javax websocket implementations.

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-04-22 17:26:46 +10: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
Joakim Erdfelt 6b7528efec
Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-4770-simplify-gzip-testing 2020-04-21 06:02:20 -05:00
Joakim Erdfelt 1d1dbf6085
Issue #4770 - Testcase fixes
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-04-21 06:02:04 -05:00