Commit Graph

502 Commits

Author SHA1 Message Date
Simone Bordet d1a1663b39
Fixes #10324 - Improve migration from Servlets to Handler. (#10529)
* Using request.getLength() instead of looking up the Content-Length header.
* Jetty Handler vs Servlet pros.
* Using CompletableFuture (not Promise) in examples.
* Removed unused cruft from tests.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-09-20 21:15:20 +02:00
Simone Bordet 293bab9316
Small fix to migration guide documentation.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-09-15 15:45:23 +02:00
Simone Bordet 388d3e38fa
Fixes #10361 - Introduce QoSHandler (#10480)
* Introduced QoSHandler.
* Updated documentation, and removed old documentation.
* Now using dynamic max priority.
The current implementation retains priorities and queue as they are created, but hopefully the priority range is constrained.
* Better algorithm for resuming: rather than releasing a permit and try to acquire it again, keep the permit and resume a request.
This also removes the issue that a request could have been suspended again, therefore remaining suspended much more than maxSuspend.
* Deprecated QoSFilters in ee10 and ee9.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-09-14 15:46:12 +02:00
Simone Bordet 8684b0a67a
Introduced CompletableResponseListener (#10502)
Introduced CompletableResponseListener, a replacement for FutureResponseListener that uses better APIs based on CompletableFuture.

Deprecated FutureResponseListener and replaced its usages.

Updated documentation.

Added tests for zipped request content.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-09-14 15:33:51 +02:00
Simone Bordet 3e6fe97bea
Fixed wrong xrefs in the operations guide.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-09-02 17:21:16 +02:00
Simone Bordet ad23410e09
Ported documentation for the Password tool from old_docs to the operations guide.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-09-02 17:10:01 +02:00
Simone Bordet 3090314206
Fixed location of {jetty-home} attribute after recent refactorings.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-09-02 12:10:12 +02:00
Simone Bordet 84befe3957
* Fixed substitutions for [source] blocks.
* Fixed callouts in XML, using the comment syntax.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-09-02 11:48:27 +02:00
Simone Bordet 744146f36f
Fixed inclusion directive for threadpool-virtual.mod.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-09-01 19:51:16 +02:00
Simone Bordet 8cda599c29
Added short documentation section about HTTP session support.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-09-01 18:12:43 +02:00
Joakim Erdfelt 1d226403da
Updating to version 12.0.2-SNAPSHOT 2023-08-29 16:55:36 -05:00
Joakim Erdfelt 4768745849
Updating to version 12.0.1 2023-08-29 16:38:20 -05:00
Simone Bordet c638753b8d Fixes #10293 - Improve documentation on how to write a response body in Jetty 12.
Updated documentation about:
* Content.Source
* Content.Sink
* Handler
* Request/Response

Updated few APIs to make easier to write applications.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-08-29 22:07:42 +02:00
Greg Wilkins d3cd69be68
Fix #10411 default environment (#10415)
Implemented a simpler default environment algorithm where an application that does not specify an environment is always attempted in the default.

Updated documentation.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Co-authored-by: Simone Bordet <simone.bordet@gmail.com>
2023-08-29 18:34:21 +02:00
Simone Bordet 5a8c5bc8c7
Fixes #10353 - Questions about porting WebSocket APIs to jetty-core 12 (#10354)
* Added direct WebSocket upgrade in the Jetty core WebSocket APIs.
* Updated the WebSocket documentation.
* Optimized WebSocketMappings.getMatchedNegotiator() to avoid allocating a lambda for every invocation.
* Cleaned up core.server.WebSocketUpgradeHandler.
* Expanded websocket docs to mention how the demand mechanism works.
* Fixed code examples with correct demand handling.
* Javadocs for api.Callback.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-08-28 17:46:12 +02:00
Simone Bordet 86c245d069
Fixes #10158 - Deploy Jetty context XML file needs environment
Updated the documentation; a better fix is coming with #10411.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-08-26 17:01:21 +02:00
Joakim Erdfelt cb8c4b6ab2
Updating to version 11.0.17-SNAPSHOT 2023-08-25 14:55:08 -05:00
Joakim Erdfelt bedff458c4
Updating to version 11.0.16 2023-08-25 14:43:04 -05:00
Joakim Erdfelt 896dee2466
Updating to version 10.0.17-SNAPSHOT 2023-08-25 14:27:38 -05:00
Joakim Erdfelt a2735a9ae9
Updating to version 10.0.16 2023-08-25 14:10:55 -05:00
Simone Bordet 0eb4f1b7e3 Updated the documentation about HttpChannel events (they don't exist anymore replaced by `EventsHandler`).
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-08-25 12:44:48 +02:00
Lachlan 5c7a222697
Merge pull request #10313 from eclipse/jetty-12.0.x-10295-formAuthDispatch
Issue #10295 - implement EE10 FormAuthenticator with dispatch option
2023-08-25 16:14:40 +10:00
Simone Bordet 946b047cde
Merged branch 'jetty-11.0.x' into 'jetty-12.0.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-08-24 19:45:09 +02:00
Simone Bordet 5cc4a9da09
Merged branch 'jetty-10.0.x' into 'jetty-11.0.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-08-24 19:41:57 +02:00
Olivier Lamy 2ea646bacd
Issue #10312 Remove cyclic dependencies between jetty-home and jetty-documentation. Add new module jetty-documentation (#10348)
* cleanup jetty home build extracting jetty-documentation
* Issue #10312 Remove cyclic dependencies between jetty-home and jetty-documentation

Signed-off-by: Olivier Lamy <olamy@apache.org>
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
Co-authored-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2023-08-24 19:41:17 +02:00
Simone Bordet 4646ef50f9 Fixes #10327 - Jetty (embedded) rejected warning logs
Added documentation about the fact that the QTP queue should be unbounded.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-08-24 18:29:54 +02:00
Simone Bordet 7f1d262aee
Merged branch 'jetty-11.0.x' into 'jetty-12.0.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-08-23 15:47:15 +02:00
Simone Bordet 9efe3a113a
Merged branch 'jetty-10.0.x' into 'jetty-11.0.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-08-23 13:43:48 +02:00
Simone Bordet 153f5dfae8 Fixes #10350 - Support Java 21 virtual threads
* Introduced module `threadpool-virtual` for Java 21.
* Updated virtual threads documentation to refer to Java 21.
* Updated requirements that the releases should use Java 21, so that the documentation can properly render the virtual threads documentation.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-08-23 11:58:24 +02:00
Lachlan Roberts 5a28d48b93 Move ServeAs code to Request, so it can be used elsewhere
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2023-08-23 12:32:46 +10:00
Olivier Lamy 97e1527ed6
Jetty 12.0.x use Maven build cache for PRs and branches except jetty-12.0.x main branch (#9871)
* apply configuration/changes for build cache

Signed-off-by: Olivier Lamy <olamy@apache.org>

Signed-off-by: Olivier Lamy <olamy@apache.org>
2023-08-22 02:46:46 +02:00
Simone Bordet 8f6a38aca8 Added documentation to migrate from Servlet to Handler.
Introduced CompletableTask to simplify Content.Source reads.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-08-16 15:02:57 +02:00
Simone Bordet b126407c4e
Fixed Maven coordinates, wrongly reported just as `jetty-servlet`, to `jetty-eeN-servlet`.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-08-16 13:13:41 +02:00
Simone Bordet c66f9809ba
Added documentation profile for Java 21.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-08-14 21:39:25 +02:00
Simone Bordet 8d50f55b32
Updated virtual threads documentation.
Now examples are in code, and added POM profiles to deal with virtual threads preview APIs.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-08-14 18:12:17 +02:00
Simone Bordet 5b782c18c9
Small fixes after review.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-08-14 17:58:33 +02:00
Simone Bordet 2e98d55a04
Updated Maven Artifact Changes table.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-08-12 15:50:49 +02:00
Simone Bordet eb35e42cb6
Fixed documentation that was still referring to `Handler.process()` which has now become `Handler.handle()`.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-08-10 16:47:37 +02:00
Alberto Zugazagoitia ed59dff373
Update server-websocket-jetty.adoc 2023-08-09 14:01:57 +02:00
Joakim Erdfelt 9c324326c5
Merge `release/12.0.0` back into `jetty-12.0.x` (#10237)
* Updating to version 12.0.0

* Updating to version 12.0.1-SNAPSHOT
2023-08-08 00:55:19 +02:00
Simone Bordet 28100e8da7
Reverted asciidoctorj-diagram.version to 2.2.9 to correctly generate the links to diagram images.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-08-07 18:49:01 +02:00
Simone Bordet e71fa6dedd
Improvements to the contribution guide.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-08-01 19:41:55 +02:00
Greg Poulos ecf8795aef
additional pass of edits
Signed-off-by: Greg Poulos <eclipse@gregpoulos.com>
2023-08-01 17:14:55 +02:00
Greg Poulos 02fc4392cc
Cleanup Jetty Contribution Guide
Signed-off-by: Greg Poulos <eclipse@gregpoulos.com>
2023-08-01 17:14:55 +02:00
Simone Bordet 8733746c66
Merged branch 'jetty-11.0.x' into 'jetty-12.0.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-07-31 19:31:57 +02:00
Simone Bordet 863855bcd5
Merged branch 'jetty-10.0.x' into 'jetty-11.0.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-07-31 19:27:05 +02:00
Simone Bordet 56e0069ed3 Fixes #9386 - SSL reports deprecated setting, but ssl.ini still uses it.
Removed references to deprecated properties `jetty.sslContext.[key|trust]StoreAbsolutePath`.
Updated documentation to explicitly report that the path can be absolute.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-07-31 19:26:20 +02:00
Simone Bordet bd80b675ba
Merged branch 'jetty-11.0.x' into 'jetty-12.0.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-07-17 16:51:42 +02:00
Simone Bordet 46f47ad659
Merged branch 'jetty-10.0.x' into 'jetty-11.0.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-07-17 16:46:28 +02:00
Simone Bordet c967b100e7
Fixes #10105 - Document that Request objects are not reusable. (#10113)
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-07-17 16:44:44 +02:00
Simone Bordet 0eb143634c
Updated the programming guide client documentation.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-07-16 15:40:58 +02:00
Simone Bordet 69e2f10521
Merged branch 'jetty-11.0.x' into 'jetty-12.0.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-07-16 12:01:43 +02:00
Joakim Erdfelt 8e52abe8c9
Merge `jetty-11.0.x` into `jetty-12.0.x` - July 14 (#10108)
* Updating various old/moved URL references found across project (`jetty-10.0.x`) (#10098)

+ Now that the migration of `https://eclipse.org/jetty/` to `https://eclipse.dev/jetty/` has occurred, it is time to review the URI use in our project
+ Updated URLs in poms
+ Added more URIs to XmlConfiguration
+ Updated URLs in module files
+ Updated URLs in documentation
+ Updated URLs in HTML
+ Correcting bad double-scheme URLs (eg: `http://https://www.eclipse...`)
+ Updating text in *.mod files
+ Removing `/current/` from path `/jetty/documentation/current/`
+ Fixing mailing list URL
+ Fixing github URL references in jsps

---------

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2023-07-14 20:21:11 -05:00
Joakim Erdfelt 8e5bedcf8f
Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-11.0.x 2023-07-14 12:48:56 -05:00
Joakim Erdfelt a9c596e3d7
Updating various old/moved URL references found across project (`jetty-10.0.x`) (#10098)
* Now that the migration of `https://eclipse.org/jetty/` to `https://eclipse.dev/jetty/` has occurred, it is time to review the URI use in our project

+ Updated URLs in poms
+ Added more URIs to XmlConfiguration
+ Updated URLs in module files
+ Updated URLs in documentation
+ Updated URLs in HTML
+ Correcting bad double-scheme URLs (eg: `http://https://www.eclipse...`)
+ Updating text in *.mod files
+ Removing `/current/` from path `/jetty/documentation/current/`
+ Fixing mailing list URL

---------

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2023-07-14 12:38:45 -05:00
Simone Bordet 8c9d6e4528
Started the work on the migration guide.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-07-13 08:04:25 +02:00
Simone Bordet bd80297f7e
* Fixed resource leak in `App` when reading the web application properties file.
* Small updates to the deploy documentation.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-07-11 19:29:12 +02:00
Simone Bordet e19ee8283b
Updated PostgreSQL version to most recent one.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-07-11 16:35:54 +02:00
Simone Bordet c05bfd020e
Using consistently --add-modules everywhere.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-07-11 12:35:29 +02:00
Simone Bordet 9567ade30f
* Updated README files.
* Updated the Getting Started sections.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-07-11 11:40:03 +02:00
Greg Wilkins ec2dbe73a8
Fully async Multipart Form handling (#9975)
A fully async ContentSourceCompletableFuture for use by MultiPartFormData and MultiPartByteRanges
Restructure MultiPartFormData to have a Parser class
---------

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Co-authored-by: Simone Bordet <simone.bordet@gmail.com>
2023-06-30 17:01:16 +02:00
Ludovic Orban 457d41ccad
Add constructors accepting the handler to wrap to all core handler wrappers (#9988)
Add constructors accepting the handler to wrap to all core handler wrappers

Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2023-06-30 13:15:45 +02:00
Ludovic Orban 8f4a15c7da
#9946 Stop passing Handler in constructor as a parent (#9948)
#9946 Stop passing Handler in constructor as a parent

Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2023-06-23 14:44:12 +02:00
Greg Wilkins a3e82326cf
Experiment/jetty 12 chunk isError and warnings (#9904)
* Remove usage of instanceof Content.Chunk.Error
* Updated AsyncContent to accept a transient failures
* Updated AsyncContent to accept a transient failure with inputstream
2023-06-23 09:17:15 +02:00
Simone Bordet 85407aabdb
Updated deploy documentation.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-06-12 17:21:05 +02:00
Greg Wilkins 4c16e6a707
Jetty 12 content length 0 take3 (#9740)
* Optimize Content-Length: 0 handling

Create and use a pre-encoded HttpFields.CONTENT_LENGTH_0 constant
Used the constant in more places
renamed the `putLongField` methods of HttpFields.Mutable to just `put`
Fixed wrong docs examples
2023-05-07 19:22:15 +02:00
Simone Bordet 3463e42861
Merged branch 'jetty-11.0.x' into 'jetty-12.0.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-05-04 12:08:00 +02:00
Simone Bordet 017fec7940
Merged branch 'jetty-10.0.x' into 'jetty-11.0.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-05-04 11:04:30 +02:00
Simone Bordet d4e9f6a520
Fixes #7091 - Add SOCKS5 support.
Spin-off of the work in #9653.
Simplified the implementation, fixed a few mistakes, added more tests.
Made the implementation of Socks5.Authentication more extensible (for example to implement GSSAPI authentication).
Updated documentation.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-05-03 19:40:55 +02:00
Simone Bordet adf5754836
Fixes #9552 - Jetty 12 - Rewrite of the Jetty WebSocket APIs. (#9652)
* Removed unnecessary classes, among which `BatchMode`, `CloseStatus`, etc.
* Coalesced all listener interfaces into `Session.Listener`.
* Moved `RemoteEndpoint` functionality to `Session`.
* Renamed `WebSocketPolicy` to `Configurable`.
* Renamed `WriteCallback` to just `Callback`, as it is now also used for some listener methods.
* Renamed `@OnWebSocketConnect` to `@OnWebSocketOpen`
* Renamed `Session.Listener.onWebSocketConnect()` to `onWebSocketOpen()`.
* Removed `@WebSocket` annotation attributes, because they were just a subset of the configurable ones and they can be configured directly on the Session instance.
* Removed `Session.suspend()` and `SuspendToken`, and introduced `Session.demand()`.
* Introduced `@WebSocket.autoDemand` and `Session.Listener.AutoDemanding` to support automatic demand upon exit of WebSocket handler methods.
* Removed `FrameHandler.isAutoDemanding()` and `CoreSession.isAutoDemanding()`.
* Changed the responsibility of demand from `WebSocketCoreSession` to `FrameHandler`, which in turn may delegate to `MessageSink`.
* Updated MessageInputStream to fail if an exception is thrown by the application.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-05-02 16:42:40 +02:00
Greg Wilkins 7275bf15a9
Jetty 12.0.x core security (#9405)
core security module

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
Signed-off-by: gregw <gregw@webtide.com>
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Co-authored-by: Lachlan Roberts <lachlan@webtide.com>
Co-authored-by: Jan Bartel <janb@webtide.com>
Co-authored-by: Simone Bordet <simone.bordet@gmail.com>
2023-05-02 15:35:49 +02:00
Joakim Erdfelt 1efe9afdf8
Updating to version 11.0.16-SNAPSHOT 2023-04-11 13:53:30 -05:00
Joakim Erdfelt 5bc5e562c8
Updating to version 11.0.15 2023-04-11 13:37:23 -05:00
Joakim Erdfelt ca3c1756ad
Updating to version 10.0.16-SNAPSHOT 2023-04-11 13:23:25 -05:00
Joakim Erdfelt 68017dbd00
Updating to version 10.0.15 2023-04-11 12:24:32 -05:00
Simone Bordet 744b37f80b
Fixes #7608 - Jetty-12 MetaData cleanup needed (#9618)
* Removed unnecessary constructors from MetaData, MetaData.Request and MetaData.Response.
* Removed MetaData.Request.getURIString() (available as getHttpURI().toString()).
* Renamed MetaData.getFields() -> getHttpFields(), as they can be headers or trailers.
* Renamed MetaData.Request.getURI() -> getHttpURI().
* Normalized handling of contentLength, now always -1 (rather than Long.MIN_VALUE) if unknown.
* Permutated MetaData.Response constructor parameters to be consistent with MetaData.Request.
* MetaData.Request's method and httpURI must be non-null.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-04-07 21:23:01 +02:00
Simone Bordet 99dc9c39f5
Merged branch 'jetty-11.0.x' into 'jetty-12.0.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-03-31 15:46:01 +02:00
Simone Bordet 814782cb2f
Merged branch 'jetty-10.0.x' into 'jetty-11.0.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-03-31 15:39:42 +02:00
Simone Bordet 278ec1be69
Fixes #9237 - Decouple QTP idleTimeout from pool shrink rate. (#9498)
Introduced `QueuedThreadPool.maxEvictCount` to be the number of idle threads that are evicted in one idle timeout.

When set to 1 (the default), the old behavior is reproduced: expiring 1 thread every idle timeout.
When set to larger values, allows to keep around the threads for the idle timeout (in case of further load spikes), but allows to quickly recover OS memory when they are truly idle.

For example, with 2000 threads, 30 seconds idle timeout and idleTimeoutMaxShrinkCount=1, it will take 995 minutes (about 16.5 hrs) to shrink the pool back to 10 threads.
By setting idleTimeoutMaxShrinkCount=100, the thread pool can be shrunk to 10 threads in about 10 minutes.

Note also that the new algorithm is more aggressive at shrinking the thread pool.
Previously, a small load might have been sufficient to never evict any thread, because all threads could take turns at executing jobs so that threads were mostly idle but would never really idle time out.
The new algorithm is more aggressive even in presence of a small load, so that if `minThreads` are sufficient to cope with the small load, then the other threads are evicted.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Signed-off-by: gregw <gregw@webtide.com>
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
Co-authored-by: gregw <gregw@webtide.com>
Co-authored-by: Ludovic Orban <lorban@bitronix.be>
2023-03-31 15:36:34 +02:00
Joakim Erdfelt 6ce5a0fbcd
Jetty 12 - Remove CGI servlet (#9516)
* Remove CGI servlet
* Remove CGI references
2023-03-29 09:29:57 -05:00
Simone Bordet f532be828f
Merged branch 'jetty-11.0.x' into 'jetty-12.0.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-03-28 20:22:56 +02:00
Simone Bordet 0243df8f00
Merged branch 'jetty-10.0.x' into 'jetty-11.0.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-03-28 20:09:30 +02:00
Lachlan dde6e04731
Issue #7121 - Add documentation for websocket configuration. (#8931)
* Improvements to WebSocket documentation.
* Documented configuration parameters.
* Documented and added a test case for PathSpec usage.

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Co-authored-by: Simone Bordet <simone.bordet@gmail.com>
2023-03-28 19:42:44 +02:00
Simone Bordet 856d3338f2
Fixes #9391 - port/move Jetty WebSocket APIs, client and server to je… (#9469)
* Moved -api, -common, -client to jetty-core/jetty-websocket.
* Implemented jetty-core/jetty-websocket/jetty-websocket-jetty-server using only Jetty core APIs, not Servlet.
* Fixed Graceful shutdown order.
* Fixed mistakes in HttpFieldsWrapper, wrongly calling HttpHeader.name() instead of asString().
* Updated tests to pass cleanly.
* Fixed BOMs and POM dependencies.
* Introduced websocket-jetty.mod and websocket-jetty-client.mod, now used by ee10's Jetty WebSocket.
* Fixed OSGi references to old artifactIds.
* Added test to show how to lookup and use ServerWebSocketContainer from a Handler.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-03-24 19:42:51 +01:00
Simone Bordet 9594469160
Merged branch 'jetty-11.0.x' into 'jetty-12.0.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-03-14 18:52:52 +01:00
Simone Bordet 0871e2fb5d
Merged branch 'jetty-10.0.x' into 'jetty-11.0.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-03-14 18:51:12 +01:00
Simone Bordet e6de81084d
Improved HttpClient TLS documentation about server host name verification. (#9494)
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-03-14 18:49:48 +01:00
Olivier Lamy 22bb0d0788 Updating to version 11.0.15-SNAPSHOT 2023-03-01 18:56:07 +10:00
Olivier Lamy e62cc0344a Updating to version 10.0.15-SNAPSHOT 2023-03-01 18:55:10 +10:00
Greg Poulos 90e6c6a291
Remove logging and Maven plugin scanning sections from old docs (#9401)
* Remove old docs pertaining to logging-logback and logging-log4j* modules
* Remove obsolete logging examples
* Remove centralized-webapp-logging example, because this module no longer exists
* Remove discussion of Logback + Jetty exmaple projects, as these no longer exist
* Remove example of capturing multiple logging frameworks, as the example module file is no longer available to users
* Remove discussion of default logging behavior and console-capture module, which is already covered in the Operations guide
* fix placeholder document header so I can compile
* remove old docs about logging with SLF4J and capturing console output, as this information has already been migrated to the operations guide
* delete remainder of old logging module docs, as these are obsolete and/or adequately captured in the current operations guide
* Remove old logging section altogether, as all the non-obsolete content appears to have already been migrated
* Remove maven section from old docs, since this content has already been ported to the Operations Guide
* Remove maven section from toc
2023-02-26 23:04:03 +01:00
Greg Wilkins 0ca6295cbc
Rename process to handle (#9385)
Renamed Request.Processor to Request.Handler
Renamed Handler.process to Handler.handle
Renamed Rule.Processor to Rule.Handler.
Renamed accordingly methods and variable.
Updated comments accordingly.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Co-authored-by: Simone Bordet <simone.bordet@gmail.com>
2023-02-16 18:21:12 +01:00
Simone Bordet b880091fa6
Merged branch 'jetty-12.0.x' into 'gregpoulos-jetty-12.0.x-old-docs-remove-debugging-sections'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-02-15 18:19:57 +01:00
Simone Bordet 7fa45ebeb2
Merged branch 'jetty-12.0.x' into 'gregpoulos-jetty-12.0.x-old-docs-remove-ant-plugin-guide'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-02-15 18:11:17 +01:00
gregw a15af55a56 Merge remote-tracking branch 'origin/jetty-11.0.x' into jetty-12.0.x
Signed-off-by: gregw <gregw@webtide.com>
2023-02-15 15:31:33 +11:00
gregw 7cfc239990 Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-11.0.x
Signed-off-by: gregw <gregw@webtide.com>
2023-02-15 15:27:17 +11:00
gregw 7a7d69a69f Happy no year
Remove modification date from copyright notice and instead just have the
project inception year.

Signed-off-by: gregw <gregw@webtide.com>
2023-02-15 15:22:32 +11:00
Greg Poulos ed8074663b remove section on remote debugging, as the information has already been incorporated into the operations and programming guides 2023-02-14 12:29:58 -08:00
Greg Poulos fbcee7ea2d remove sections on debugging with IntelliJ and Eclipse 2023-02-14 12:25:28 -08:00
Greg Poulos c8a0d2c268 remove Ant Jetty plugin section from the ToC 2023-02-14 12:20:27 -08:00
Greg Poulos 450e76dc4e Remove docs for the ant plugin 2023-02-14 12:13:23 -08:00
Greg Poulos b560da195f
Jetty 12.0.x Documentation: Logging section in operations manual (#9187)
* Documentation: added docs for more jetty-logging.properties configuration options
* Update documentation/jetty-documentation/src/main/asciidoc/operations-guide/server/server-logging-server.adoc

Co-authored-by: Simone Bordet <simone.bordet@gmail.com>
2023-02-13 10:21:10 +01:00
Simone Bordet 4db0c70735 Fixes #9326 - Rename DecryptedEndPoint to SslEndPoint.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-02-09 22:17:51 +01:00
Ludovic Orban b87f9385c8
Jetty 12: Cleanup `StatisticsHandler` (#9291)
#9145 cleanup statistics

Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2023-02-07 17:43:46 +01:00
Simone Bordet d02932f690
Fixes #9288 - Jetty 12 - Use oej.http.HttpCookie in jetty-client. (#9289)
* Replaced usages of java.net.HttpCookie with oej.http.HttpCookie.
* Moved server-side only methods from HttpCookie to HttpCookieUtils.
* Introduced and implemented oej.http.HttpCookieStore.
* Removed now obsolete oej.util.HttpCookieStore.
* Introduced HttpScheme.isSecure(String), to avoid code duplication.
* Fixed handling of cookie "localhost" domain in HttpClient.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-02-07 17:28:01 +01:00
Greg Wilkins f565122571
Redo Handler renaming (#9318)
* Redo Handler renaming

Wrapper to Singleton
BaseWrapper to Wrapper

* Updates from review
2023-02-07 16:41:15 +11:00
Simone Bordet 5cc07994c0
Issue #9300 - Rename RetainableByteBufferPool to ByteBufferPool
ArrayRetainableByteBufferPool -> ArrayByteBufferPool.
Updated field names.
Updates tests.
Updated *.mod files to not reference RetainableByteBufferPool.
Updated javadocs.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-02-06 10:31:14 +01:00
Simone Bordet 44980ebfc3
Merge branch 'issue/9284' of https://github.com/kohlschuetter/jetty.project into kohlschuetter-issue/9284 2023-02-06 10:16:32 +01:00
Greg Wilkins 60a08f5349
Rename Handler Nested & Collection (#9305)
There is now a Handler interface hierarchy:
 + Container is a Handler that has 1 or more contained Handlers.
 + Wrapper is a Container with only 1 handler and a setHandler method.
 + Collection is a Container with n handlers and a addHandler method

class are now:
 + Abstract implements Handler
 + AbstractContainer extends Abstract implements Container
 + BaseWrapper extends AbstractContainer implements Wrapper
 + Sequence extends AbstractContainer implements Collection

 Lots of other associated cleanups
2023-02-06 12:15:35 +11:00
Christian Kohlschütter b8ab66fd1d Rename RetainableByteBufferPool to ByteBufferPool
With issue #9166, ByteBufferPool was removed and replaced by
RetainableByteBufferPool. Since ByteBufferPool was used by
AbstractConnector, this change broke backwards compatibility with
third-party connectors such as junixsocket-jetty.

Since there's no longer any other ByteBufferPool, rename the
RetainableByteBufferPool interface, and thereby not only reinstate
compatibility with existing third-party libraries but also save a few
keystrokes.

https://github.com/eclipse/jetty.project/issues/9284

Signed-off-by: Christian Kohlschütter <christian@kohlschutter.com>
2023-02-04 23:39:29 +01:00
Simone Bordet 55a27fc68c
Issue #9293 - Jetty 12 - Relax JPMS dependencies. (#9296)
Relaxed jetty-http2 and submodules JPMS dependencies.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-02-03 10:19:41 +01:00
Simone Bordet ec41480aed
Issue #9293 - Jetty 12 - Relax JPMS dependencies. (#9299)
* Issue #9293 - Jetty 12 - Relax JPMS dependencies.

Relaxed jetty-http3 and submodules JPMS dependencies.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-02-03 10:16:29 +01:00
Simone Bordet cd732a175c
Review and normalized all Maven module <name> for consistency.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-01-27 19:09:30 +01:00
Simone Bordet ded18f523d
Fixes #9166 - Jetty 12: review/remove ByteBufferPool (#9195)
* Fixes #9166 - Jetty 12: review/remove ByteBufferPool

* Replaced usages of ByteBufferPool with RetainableByteBufferPool.
* Removed ByteBufferPool and related classes.
* Renamed oej.http2.frames.DataFrame.getData() -> getByteBuffer() for consistency.
* Removed Accumulator.acquire(), and updated code to use RetainableByteBufferPool.acquire() instead.
* Fixed HttpOutput callbacks to correctly call super.onCompleteSuccess() and super.onCompleteFailure().

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-01-27 13:40:49 +01:00
Joakim Erdfelt 7d8dd946cc
Add and allow plural form of existing args. (#9202)
+ new `--modules=<name>,<name>`
+ new `--libs=<classpath>`
+ updated usage.txt
+ updated warning output hint
2023-01-24 16:02:26 -06:00
Greg Wilkins 39e5667f1d
Jetty-12 Remove usage of HandlerList and reduce usage of Handler.Collection (#9191)
* Remove usage of HandlerList and reduce usage of Handler.Collection

"The best part is no part" - Elon Musk!

The overwhelming usage of `HandlerList` and `Handler.Collection` was for adding the `DefaultHandler` after the main handler.  This PR adds a getter/setter for a `DefaultHandler` on the server, so we no longer need to always create a `Handler.Collection` structure.   This has allowed the deprecated `HandlerList` and `HandlerWrapper` classes to be removed.

In implementing this PR, several problems were found in the calculation of `InvocationType`, not least that it was assumed that an empty `Handler.Collection` was `BLOCKING`.  When this issue was fixed, any dynamic addition of contexts (deployer or SPI server) failed as the `InvocationType` changed.  So this PR also introduces the `isDynamic()` attribute of all `Handler.Container`s.  A dynamic container will always return `BLOCKING` from `getInvocationType()`, as there is always a race with a new handler being added.   A non-dynamic container will return a real `InvocationType`, calculated from its children, but it's mutator methods will ISE if contained handlers are changed.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Co-authored-by: Jan Bartel <janb@webtide.com>
Co-authored-by: Simone Bordet <simone.bordet@gmail.com>
2023-01-25 08:08:09 +11:00
Greg Poulos 06efbcaa7c
Jetty 12.0.x document modules (#9151)
* Add documentation in "Standard Modules" section for the jmx module
* Add documentation in "Standard Modules" section for the ee8,9,10-webapp modules
* Use shorter markup tags to transclude documentation from .mod files
* Extract EE version strings into variables
* Replace literal usages of EE version numbers with custom attribute
* Use convention 'eeN' instead of 'eex' in filenames
* Update metadata tag for deploy module documentation
* Update deploy module documentation to discuss EE platform-specific deploy modules
* Add documentation for the resources module
* Add resources module into section table of contents
* Use jetty-home instead of JETTY_HOME as documentation attribute

Co-authored-by: Simone Bordet <simone.bordet@gmail.com>
2023-01-19 19:02:42 +01:00
Greg Poulos e9f31157ad
Documentation: for consistency, convert "JETTY_HOME" attribute to "jetty-home" (#9152) 2023-01-17 15:44:11 +01:00
Simone Bordet 46355c6110
Fixes retainability of special Chunks (#9073)
* Fixes #8993 - Retainability of special Chunks

* Restored Jetty 11's AsyncContentProducer and related classes in jetty-ee9-nested module (src and test).
* Introduced Retainable.canRetain().
* Removed Chunk.isTerminal() and replaced it with alternative method calls.
* Clarified AsyncContent.write() in case of Chunk.Error.
* Removed AsyncContent.write(Chunk, Callback) because it was making the API confusing.
  For example, AsyncContent.close() clashing with write(EOF, NOOP), or
  AsyncContent.fail(x) clashing with write(Chunk.Error, NOOP), etc.
* Improved usage of Chunk.from(..., Retainable).
* Improved usage of Chunk.slice().
* Using from() in MultiPart, rather than duplicating code.
* Fixed MultiPart.Parser.Listener.onPartContent() javadocs.
* Renamed non-retaining Chunk.from() to Chunk.asChunk().
* Removed Chunk.slice() methods, inlining them where necessary.
* Carefully reviewed all usages of read()-like methods that return a Retainable instance to make sure it is released.
* Updated HTTP/2 and HTTP/3 usages of Stream.Data to follow the correct retain/release semantic.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-01-13 01:10:56 +01:00
Simone Bordet a1c5cefd0d
Reorganization of jetty-client classes. (#9127)
* Reorganization of jetty-client classes.

* Moved oej.client.api to oej.client
* Moved oej.client.util to oej.client
* Moved implementation classes to oej.client.internal
* Moved transports to oej.client.transport
* Moved transport implementation classes to oej.client.transport.internal
* Moved TunnelRequest to oej.client.internal.

* Moved FastCGI transport classes to o.e.j.fcgi.transport
* Moved FastCGI transport implementation classes to o.e.j.fcgi.transport.internal

* Updated WebSocket core client to use only exported, non-internal, oej.client classes.

* Expanded oej.client.Destination APIs:
  - added: getOrigin(), isSecure(), getProxy(), getConnectionPool(), getHttpClient(), send(..).
  - removed: getScheme(), getHost(), getPort() because they don't uniquely identify a Destination anymore (Origin does)
* Moved destination sweeper functionality from HttpDestination to HttpClient.
  HttpDestination does not implement close() anymore, now relies on LifeCycle.stop()
* Moved HttpReceiver.storeCookie() logic to HttpClient.putCookie() to avoid exposing CookieManager.
* Moved HttpClient.getAcceptEncodingField() to ContentDecoder.Factories

* Avoid public/protected Logger instances.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-01-11 10:05:43 +01:00
Greg Poulos 1dc175efac
Jetty 12.0.x documentation (#9096)
* fix broken include
* fix demo module example
* add documentation markup to fix documentation build error
* editorial suggestions for installation instructions
* editorial suggestions for quickstart guide
* fix unresolved directive errors
* fix file not found exception thrown during doc build
* editorial suggestions for deployment quickstart, plus some fixed references
* Update documentation/jetty-documentation/src/main/asciidoc/operations-guide/begin/start.adoc

Co-authored-by: Simone Bordet <simone.bordet@gmail.com>
2023-01-06 17:21:46 +01:00
Ludovic Orban fcbdab8b3e
Rework client content listeners (#8981)
* Removed DemandedContentListener
* Updated AsyncContentListener signature
* Updated documentation

Signed-off-by: Ludovic Orban <lorban@bitronix.be>
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Co-authored-by: Simone Bordet <simone.bordet@gmail.com>
2023-01-04 11:01:18 +01:00
Greg Wilkins c18e790858
Jetty 12 handler as boolean processor (#9035)
Alternative Handler architecture.

All Handlers are Processors, which now return a boolean to indicate the request has been accepted.
The request/response/callback are no longer modal, so there is no race with the boolean return.

Optimized PathMappings.
Avoid iterations if only ServletPathSpec instances
Avoid tests for empty mappings.
Better reset implementation
Improve suffix matching
Improve exact matching

Renamed HttpStream.getNanoTimeStamp() to getNanoTime().

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Co-authored-by: Simone Bordet <simone.bordet@gmail.com>
2022-12-19 16:02:26 +01:00
Joakim Erdfelt 260245c012
Updating to version 11.0.14-SNAPSHOT 2022-12-07 15:04:55 -06:00
Joakim Erdfelt a04bd1ccf8
Updating to version 11.0.13 2022-12-07 14:46:29 -06:00
Joakim Erdfelt 54c4c03244
Updating to version 10.0.14-SNAPSHOT 2022-12-07 14:33:17 -06:00
Joakim Erdfelt 1c2636ea05
Updating to version 10.0.13 2022-12-07 14:12:50 -06:00
Simone Bordet 119996c16f
Merged branch 'jetty-11.0.x' into 'jetty-12.0.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-12-07 19:28:05 +01:00
Joakim Erdfelt 754bbddf8a
Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-11.0.x 2022-12-07 09:54:18 -06:00
Simone Bordet 411a6e71a8
Fixes after merge.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-12-07 16:27:31 +01:00
Joakim Erdfelt 7e1de8b1e2
Issue #8973 - Rework KeyStoreScanner handling for symlink related changes (#9014)
* Issue #8973 - Rework KeyStoreScanner handling for symlink related changes

+ Removed changes from #8786 and #8787
+ More test cases
+ revert jetty.sslContext.reload.followLinks boolean
+ Scanner should follow its own linkOptions setting
+ remove bad documentation in module-ssl-reload.adoc

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
Co-authored-by: Lachlan Roberts <lachlan@webtide.com>
2022-12-07 09:24:19 -06:00
Simone Bordet ee685b23fa
Merged branch 'jetty-11.0.x' into 'jetty-12.0.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-12-07 16:23:11 +01:00
Joakim Erdfelt 6b8e23e0dc
Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-11.0.x 2022-12-07 08:17:53 -06:00
Joakim Erdfelt 3d3c95462a
Fixing OSGi bundle + tycho-p2 build failures (#9017)
* Fixing errors/warnings from maven-bundle-plugin
* avoid issues with eclipse ranges
* Fixing version of p2.core
* revert bach tycho eclipse plugin to last working version 2.7.5

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
Signed-off-by: Olivier Lamy <olamy@apache.org>
Co-authored-by: Olivier Lamy <olamy@apache.org>
2022-12-07 07:51:59 -06:00
Jan Bartel 514ce5f07a Merge remote-tracking branch 'origin/jetty-11.0.x' into jetty-12.0.x 2022-11-26 08:57:47 +11:00
Simone Bordet 2ad0a2cd02
Merged branch 'jetty-10.0.x' into 'jetty-11.0.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-11-25 17:21:46 +01:00
Simone Bordet d1e0a7f612 Do not hard fail the documentation if Java < 19.
Require Java 19 to build the release.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-11-25 17:21:01 +01:00
Simone Bordet 74cb3eea0b
Merged branch 'jetty-11.0.x' into 'jetty-12.0.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-11-21 21:17:51 +01:00
Simone Bordet 85bc57b69d
Merged branch 'jetty-10.0.x' into 'jetty-11.0.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-11-21 21:16:58 +01:00
Simone Bordet e33c9a1284
Improved documentation about virtual threads. (#8900)
Added programming guide section about Jetty threading model.
Updated operations guide with new sections about virtual threads.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-11-21 21:16:10 +01:00
Simone Bordet ca91ce9140
Merged branch 'jetty-11.0.x' into 'jetty-12.0.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-11-18 20:08:31 +01:00
Simone Bordet d82d3f378a
Merged branch 'jetty-10.0.x' into 'jetty-11.0.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-11-18 19:42:39 +01:00
Simone Bordet b43e2e5600
Fixes #8913 - Review Jetty XML syntax to allow calling JDK methods (#8915)
* Fixes #8913 - Review Jetty XML syntax to allow calling JDK methods

Now `<Call>`, `<Get>` and `<Set>` elements can use the `class` attribute
to specify the exact class to perform method lookup.

Improved support for `<Property>`, `<SystemProperty>` and `<Env>` so that
attribute `name` is now optional (as specified in the DTD), and a
`deprecated` attribute may be present instead.
This is necessary to terminally deprecate properties that have
no replacement.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-11-18 19:36:48 +01:00
Joakim Erdfelt be16b1640b
Only allow skipping of asciidoc, not assembly 2022-11-17 19:43:05 -06:00
Joakim Erdfelt a13ae1a60f
Can't skip docs with skipTests 2022-11-17 19:34:20 -06:00
Joakim Erdfelt 18f22816c9
Merge remote-tracking branch 'origin/jetty-11.0.x' into jetty-12.0.x 2022-11-17 13:01:00 -06:00
Joakim Erdfelt cba414f255
Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-11.0.x 2022-11-17 11:51:54 -06:00
Joakim Erdfelt af227778bb
Issue #8895 - Move JettyHomeTester to own module
+ Fix for circular dependency loop
    test-distribution ->
    jetty-home ->
    jetty-documentation ->
    jetty-asciidoctor-extensions ->
    test-distribution
+ Remove any deps on anything in org.eclipse.jetty from new module

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2022-11-15 15:06:59 -06:00
Lachlan Roberts bff3c83726 Merge remote-tracking branch 'origin/jetty-11.0.x' into jetty-12.0.x 2022-11-10 17:38:46 +11:00
Lachlan Roberts 539777492e Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-11.0.x 2022-11-10 17:20:21 +11:00
Lachlan 690220fc40
Merge pull request #8787 from eclipse/jetty-10.0.x-8786-KeyStoreScanner-Symlink
Issue #8786 - add configuration for KeyStoreScanner to not resolve aliases
2022-11-10 17:17:59 +11:00
Lachlan Roberts 0a14cca307 changes from review - rename resolveAlias to followLinks
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-11-03 20:37:55 +11:00
Lachlan Roberts 8607e3ef15 changes to ssl-reload module & documentation from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-11-03 18:54:53 +11:00
Greg Wilkins 9dc9eaa711 Merge remote-tracking branch 'origin/jetty-12.0.x' into jetty-12-static-pathInContext 2022-10-25 20:42:25 +11:00
Simone Bordet 1119e8b509
Merged branch 'jetty-11.0.x' into 'jetty-12.0.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-10-25 09:59:55 +02:00
Simone Bordet ff3b14d01b
Merged branch 'jetty-10.0.x' into 'jetty-11.0.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-10-25 09:55:45 +02:00
Gili Tzabari e2e59478ce Update in response to PR comments. 2022-10-24 13:17:25 -04:00
Greg Wilkins 1885df7e03 WIP replacing getPathInContext with static method 2022-10-23 22:36:15 +11:00
Joakim Erdfelt 45e706cb67
Move Resource.combine() methods to ResourceFactory 2022-10-13 14:08:21 -05:00
Simone Bordet d3d83d0028
Merged PR #7800 to `jetty-12.0.x`.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-10-10 16:32:26 +02:00
Simone Bordet 854d5cdf6a Renamed ee9 client transport tests package.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-09-21 20:03:49 +02:00
Simone Bordet 3dd81be051
Updated SLF4J to 2.0.1.
Updated Log4j2 to 2.19.0.
Updated logging-log4j2.mod.
Removed references to og4j-slf4j18-impl, replaced by log4j-slf4j2-impl.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-09-20 22:04:36 +02:00
Olivier Lamy 6b1611592d
merge back release branch to bump version to 11.0.13-SNAPSHOT (#8594)
* Updating to version 11.0.12

* Updating to version 11.0.13-SNAPSHOT

* add release jetty-9.4.49.v20220914 and 10.0.12 in VERSION.TXT
2022-09-16 19:50:26 +10:00
Olivier Lamy dbd07146ec
merge back release branch to bump version to 10.0.13-SNAPSHOT (#8593)
* Updating to version 10.0.12

* Updating to version 10.0.13-SNAPSHOT

* VERSION.TXT =+ content of jetty-9.4.49.v20220914 release

* remove strange line and reorder
2022-09-16 19:50:12 +10:00
Simone Bordet 8953873e67
Merged branch 'jetty-11.0.x' into 'jetty-12.0.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-09-06 12:31:54 +02:00
Simone Bordet 7fb4ac559d
Merged branch 'jetty-10.0.x' into 'jetty-11.0.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-09-06 09:40:25 +02:00
Simone Bordet 77ad0189ba
Fixes #8532 - Review System.nanoTime() usages. (#8535)
* Fixes #8532 - Review System.nanoTime() usages.

Introduced o.e.j.util.NanoTime class to deal with nanoTimes.

Now NanoTime.now() should be used instead of System.nanoTime(),
and various <unit>[elapsed|since|until]() methods to calculate nanoTimes.

Furthermore, comparing 2 nanoTimes should be done via isBefore(),
rather than using the < operator, which is wrong as specified in
the System.nanoTime() javadocs.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-09-06 09:30:02 +02:00
Simone Bordet 0915492a7b
Jetty 12 module renaming - demos.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-08-12 10:12:39 +02:00
Simone Bordet 122b095260
Jetty 12 module renaming - jetty-http3.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-08-12 09:33:31 +02:00
Simone Bordet 7d264e6024
Jetty 12 module renaming - jetty-http2.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-08-12 09:33:31 +02:00
Simone Bordet 11c3642892
Jetty 12 module renaming - jetty-fcgi.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-08-12 09:33:31 +02:00
Joakim Erdfelt 5ea58b7ca4
Fix favicon use in docs 2022-08-05 09:53:55 -05:00
Joakim Erdfelt 1f1b9dc2dc
Better handling of jetty-dir.css and favicon.ico 2022-08-04 08:37:56 -05:00
Ludovic Orban cb348c8d15 rename of() -> combine()
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2022-08-03 13:06:32 +02:00
Ludovic Orban fb0290c88a replace ROOT references with root()
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2022-08-03 12:51:57 +02:00
Ludovic Orban f943d095f4 rework ResourceFactory and Resource according to redux3 prototype
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2022-08-03 11:32:21 +02:00
Joakim Erdfelt c6c0eb0313
Jetty-12 : Immutable ResourceCollection and Context based mount management (#8337)
* Immutable ResourceCollection with mount management.

* Internal List<Resource> is now immutable so that .getResources() cannot be modified.
* Improved Resource.toJarFileUri implementation that keeps the deep archive references
* Introducing Resource.mountCollection() methods
  + ResourceCollection is now a private class
  + Resource.mountCollection() returns a Mount
  + Places that use this technique are now putting the Mount in the context's beans for the context to close those mounts.
* Cleanup names/comments in FileSystemResourceTest
* Adding missing test of attempting to create a Resource from a URI `jar:file:foo.jar!/` while not mounted.
* Reworked ResourceCollection behaviors based on feedback.
  + Eliminated all Resource.mountCollection() methods except the Collection<URI> one.
* Eliminated Resource.mountIfNeeded(Resource)
* Eliminated Resource.fromList implementations
* Introduced @gregw Resource.of() implementations
* Introduced Resource.split() to honor old split logic from Jetty 9/10/11, with glob support, but now it only converts to List<URI>
* Remove IOException from Mount.root() method
* ResourceCollection now flattens and uniques any nested ResourceCollection entries it encounters
* Expanded ResourceCollectionTest to cover more code paths
* Add ResourceTest for new split() method
* Fixing testcase to use a directory that exists on setExtraClasspath
* Increase reliability of WebAppContextTests
* Updates for working with webapp.extraClasspath
* Introduced Resource.unwrapContainer to help in servlet cases where the raw JAR path should be represented in a ServletContext attribute.
* Made FileSystemPool.containerUri just use new Resource.unwrapContainer
* webapp MetaData updated to use URIs references to Libs (not File objects)
* jetty-ee#-maven-plugin use URIs for its classpath tracking to aid in mounting issues later
* webapp extraClasspath supports raw JAR references as well as glob now, supported by Resource.split(String)
2022-07-28 08:59:17 -05:00
Simone Bordet 69a7b06f06
Jetty 12.0.x retainable chunk (#8325)
Made Chunk implement Retainable, and protocol implementations
to link the RetainableByteBuffer all the way to the Chunk.

Extended Retainable to have both a retain() and a release() methods.

Removed HTTP/2's ISession and IStream, now just using HTTP2Session and HTTP2Stream.
Removed *.Adapter classes in favor of interfaces with default methods.

Javadoc additions and clarifications.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-07-25 13:22:14 +02:00
Simone Bordet e4de4fd189
Re-enabled the documentation module. (#8326)
Re-enabled the documentation module.

Now using ee10 rather than ee9.
Updated sources to reference ee10 implementation classes.
Now -DskipTests will compile the documentation classes but not build the documentation, saving time when building.

Much more work to do to update the documentation for Jetty 12.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-07-22 13:41:09 +02:00
Greg Wilkins 235f34c2e2 Added core demo 2022-07-14 21:54:50 +10:00
Greg Wilkins 676833e57e
Jetty-12 Improved Content testing and javadoc (#8263)
Improved Content javadoc
Fixed ContentSourceTest that was consuming the same ByteBufferSource multiple times.
Using ByteBufferPool.NOOP instead of allocating NoopByteBufferPool.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Co-authored-by: Simone Bordet <simone.bordet@gmail.com>
2022-07-08 14:52:28 +02:00
Joakim Erdfelt eddff4d2ee
Merge Release 11.0.11 back into `jetty-11.0.x` (#8193)
* Updating to version 11.0.11

* Updating to version 11.0.12-SNAPSHOT
2022-06-22 16:24:57 -05:00
Joakim Erdfelt 64d12e2a5a
Merge Release 10.0.11 back into `jetty-10.0.x` branch (#8194)
* Updating to version 10.0.11

* Updating to version 10.0.12-SNAPSHOT
2022-06-22 16:24:48 -05:00
Joakim Erdfelt 8149350c10
Merge Release 11.0.10 back into `jetty-11.0.x` (#8181)
* Updating to version 11.0.11-SNAPSHOT
2022-06-21 14:45:00 +02:00
Joakim Erdfelt c2bc103cb9
Merge Release 10.0.10 back into `jetty-10.0.x` (#8180)
* Updating to version 10.0.11-SNAPSHOT
2022-06-21 14:41:41 +02:00
Simone Bordet cbeeb67e93
Merged branch 'jetty-11.0.x' into 'jetty-12.0.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-06-01 15:18:53 +02:00
Simone Bordet 0571be5cee
Merged branch 'jetty-10.0.x' into 'jetty-11.0.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-06-01 12:59:58 +02:00
Joakim Erdfelt 40ba7bae6e
Fixing upper bounds issue
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2022-05-31 14:18:04 -05:00
Greg Wilkins b9ff406ba1 WIP deploying webapps 2022-05-10 09:15:35 +02:00
Greg Wilkins 04acdb72f0 Jetty-12 Restructure
Copied over non ee10 components from the hackathon branch

Co-authored-by: Greg Wilkins <gregw@webtide.com>
Co-authored-by: Jan Bartel <janb@webtide.com>
Co-authored-by: Joakim Erdfelt <joakim@webtide.com>
Co-authored-by: Lachlan Roberts <lachlan@webtide.com>
Co-authored-by: Ludovic Orban <lorban@webtide.com>
Co-authored-by: Olivier Lamy <olamy@webtide.com>
Co-authored-by: Simone Bordet <sbordet@webtide.com>
2022-05-03 15:50:54 +02:00
Lachlan Roberts 3f138362a9 Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-11.0.x 2022-04-28 17:00:45 +10:00
Lai Jiang 0604d8db6b
Fix an error (#7924) 2022-04-27 09:18:37 -05:00
Joakim Erdfelt 16420f0181
Set version to `10.0.10-SNAPSHOT` (#7823)
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2022-04-03 20:33:44 +10:00
Joakim Erdfelt f079949a35
Merge Release 10.0.9 (#7821)
* Updating to version 10.0.9

* Updating to version 10.0.10
2022-04-02 08:43:44 -05:00
Joakim Erdfelt 9548ab0cc9 Updating to version 11.0.10-SNAPSHOT 2022-03-30 13:06:46 -05:00
Joakim Erdfelt 243a48a658 Updating to version 11.0.9 2022-03-30 12:43:51 -05:00
Simone Bordet 19843f7371
Merged branch 'jetty-10.0.x' into 'jetty-11.0.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-03-29 12:00:39 +02:00
Simone Bordet 454cb19bf5
Fixes #7575 - Misleading docs for HttpClientTransportDynamic (#7800)
Improved documentation for the clear-text dynamic transport case.
Fixed HttpClientTransportDynamic javadocs.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-03-29 12:00:18 +02:00
Simone Bordet 4e02be57fd
Updating to version 11.0.9-SNAPSHOT 2022-02-07 12:42:04 +01:00
Simone Bordet 79cc9cf90e
Updating to version 11.0.8 2022-02-07 12:10:09 +01:00
Simone Bordet a4fda96f49
Updating to version 10.0.9-SNAPSHOT 2022-02-07 12:02:02 +01:00