Commit Graph

20676 Commits

Author SHA1 Message Date
Joakim Erdfelt adeb6084b2
Issue #4770 - GzipHandler testing (Addressing PR review)
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-05-04 11:52:56 -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
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
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
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 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
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
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
Olivier Lamy 56f92adcc6
Jetty 10.0.x graphviz container (#4783)
* configure build using image jettyproject/jetty-build:latest

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2020-04-18 09:59:04 +10:00
Simone Bordet bea09425c8 Improvements to the Jetty server documentation.
Using one-line-per-sentence.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-04-17 16:16:53 +02:00
Olivier Lamy fb8c8270b3 upgrade spifly to 1.2.4 and replace jdk13 build with jdk14 (#4780)
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2020-04-16 11:20:43 +10:00
Olivier Lamy d681f10853
upgrade spifly to 1.2.4 and replace jdk13 build with jdk14 (#4780)
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2020-04-16 11:19:47 +10:00
Joakim Erdfelt aa702c06bd
Issue #4770 - Deprecate GzipTester
+ Renamed TestDirContentServlet to AbstractFileContentServlet
+ Renamed various TestServlet*Write classes to BlockingServlet*Write to better
  represent their purpose.
+ Renamed TestServletBufferTypeLengthWrite to HttpOutputWriteFileContentServlet
+ Cleaned up GzipContentLengthTest to be one big ParameterizedTest
  - now does Internal vs External GzipHandler testing too.
+ Introduced AbstractGzipTest to house simple common methods
+ Cleanup remaining testcases

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-04-15 12:30:02 -05:00
Greg Wilkins 6694f94cd5 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2020-04-15 18:50:19 +02:00
Greg Wilkins 2addb6a655
Jetty 10.0.x use HandlerList instead of HandlerCollection (#4757)
* Use HandlerList instead of HandlerCollection

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

* Use HandlerList instead of HandlerCollection

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2020-04-15 18:42:28 +02:00
Lachlan Roberts 4047e31ce7 Issue #4771 - cleanup and add tests for the different ws message handlers
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-04-15 10:50:27 +10:00
Lachlan 4388c376ba
Merge pull request #4704 from eclipse/jetty-9.4.x-4235-OpenIdErrors
Issue #4235 - communicate reason of OpenID auth failure to error page
2020-04-15 09:42:06 +10:00
Simone Bordet da651e995f Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'. 2020-04-14 23:37:26 +02:00