Commit Graph

30018 Commits

Author SHA1 Message Date
Simone Bordet 9f08dc3050
Fixes #12154 - Limit concurrent virtual threads. (#12155)
Updated VirtualThreadPool to limit the number of concurrent virtual threads using a Semaphore.

Updated modules and documentation.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2024-08-23 11:59:30 +02:00
Olivier Lamy ba4cc396eb
change urls https://eclipse.dev to https://jetty.org (#12172)
* change urls https://eclipse.dev to  https://jetty.org

---------

Signed-off-by: Olivier Lamy <olamy@apache.org>
2024-08-23 11:59:29 +02:00
Simone Bordet 185b423e1a
Merged branch 'LarsKrogJensen-issue-12185' into 'jetty-12.0.x'. 2024-08-23 11:33:16 +02:00
Simone Bordet aae0a55104
Limited max suspended requests to 1024 by default.
Javadocs, comment and logging improvements.
Simplified test case.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2024-08-23 11:31:11 +02:00
Jan Bartel dc41ad90ab
Fix order of jetty.http.port property for jetty maven plugin (#12183) 2024-08-23 10:50:57 +02:00
Paul B. Henson d4dbece1af Add new rewrite rule to return response status code based on matching header values 2024-08-22 17:22:50 -07:00
Lars Krog-Jensen 30791c16ee Issue #12185 code formatting 2024-08-22 12:18:02 +02:00
Lars Krog-Jensen 7976e75b11 Issue #12185 Custom FJP in unit test and more white space formatting 2024-08-22 12:07:32 +02:00
Lars Krog-Jensen 6868c34bdf Issue #12185 white space formatting and increase delay to avoid flaky tests 2024-08-22 11:28:34 +02:00
Lars Krog-Jensen 7aa4c79ab7 Issue #12185 code formatting 2024-08-22 10:58:51 +02:00
Lars Krog-Jensen 497da2da0a Issue #12185 implementation/test of max suspended requests in QoSHandler 2024-08-22 10:32:29 +02:00
Jan Bartel 36ec04f92e
Fix order of jetty.http.port property for jetty maven plugin (#12183) 2024-08-22 18:19:44 +10:00
Simone Bordet 0644aaf88c
Fixes #12154 - Limit concurrent virtual threads. (#12155)
Updated VirtualThreadPool to limit the number of concurrent virtual threads using a Semaphore.

Updated modules and documentation.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2024-08-21 10:44:20 +02:00
Olivier Lamy 2ca9be96ae
change urls https://eclipse.dev to https://jetty.org (#12172)
* change urls https://eclipse.dev to  https://jetty.org

---------

Signed-off-by: Olivier Lamy <olamy@apache.org>
2024-08-21 07:18:20 +02:00
Jan Bartel 0cae6351f4
Issue #12173 Ingore dependencies of type pom for the webapp classpath (#12177) 2024-08-21 09:29:59 +10:00
Simone Bordet 942e77c3c5
Fixes #6514 - How to warm up SslConnection. (#12151)
Implemented "priming" of HTTP/1.1 connections using ConnectionPool.preCreateConnections(int) and HttpClientTransportOverHTTP.setInitializeConnections(true).

This sends `OPTIONS * HTTP/1.1` to the server.

I tried to implement this feature by forcing a write of 0 bytes from the layer above `SslConnection`, but it did not work when using TLS because in both WriteFlusher and SslConnection the fact that there are 0 bytes left to write is treated specially.

Other HTTP versions have no problems because they must initialize the connection by e.g. sending a SETTINGS frame, so they would also initialize TLS.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2024-08-20 10:19:32 +02:00
Tony Copping 2f22767dc1 Issue #12175 Update SslContextFactory to use Credential instead of Password
Signed-off-by: Tony Copping <tony@sigsoft.ca>
2024-08-19 18:41:35 -06:00
Joakim Erdfelt 877aaa5502
Merge pull request #12164 from jetty/fix/12.0.x/httpconfiguration-runtime-attributes
Issue #12163 - Adding missing HttpConfiguration fields to JMX and dump()
2024-08-15 19:19:49 -05:00
Joakim Erdfelt 457a672756
Issue #11408 - Environment property values are not expanded (#12169)
If a property belonged to an Environment, then that property value was not expanded.
2024-08-15 18:58:33 -05:00
Joakim Erdfelt 8dafe0988b
Issue #12163 - Adding more HttpConfiguration output of fields to dump and jmx 2024-08-14 08:41:53 -05:00
Simone Bordet e7f1512423 Fixes #3184 - Make LifeCycle implement AutoCloseable.
Rather than making LifeCycle AutoCloseable, just implement AutoCloseable in the client components.

Update tests to use try-with-resources accordingly.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2024-08-14 12:03:55 +03:00
Simone Bordet cc2cef1732 Fixes #12158 - Jetty12 migration help.
Updated documentation with section about migration of Handler code from Jetty 11 to Jetty 12.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2024-08-13 17:15:06 +03:00
Simone Bordet fc9cbda52f
Improved handling of 100 Continue (#12113)
* Now `HttpClient` removed the `Expect` header if there is no request content.
* Changed AbstractProxyServlet and ProxyHandler check for request content: now the Content-Type header is not taken into consideration.
* Now the server avoids sending the 100 Continue response if there is no request content.
* Now the request body is not defaulted if missing, but just kept null.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2024-08-13 15:06:50 +02:00
Dan Allen 8277051776
simplify configuration for Antora Collector (#12152)
- use shortform value when applicable
- rename base key to into
2024-08-12 18:16:22 +10:00
Olivier Lamy e7980c52b4
Fix h2spec plugin report and upgrade version (#12133)
* use standard surefire directory to have result parse via Jenkins

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

* h2spec last snapshot

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

* use h2-spec-maven-plugin version 1.0.13

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

---------

Signed-off-by: Olivier Lamy <olamy@apache.org>
2024-08-12 04:59:22 +02:00
Simone Bordet d0ea445d2d
Fixes #12122 - NPE in HttpReceiver.responseContentAvailable(). (#12123)
Now also the HttpReceiver.responseContentAvailable() is serialized, so that the access to `this.contentSource` is serialized with failure, and protected by a call to `exchange.isResponseCompleteOrTerminated()`.

Before, it was possible that a thread failed the response, nulling out `this.contentSource`, while another thread was just about to call `responseContentAvailable()` -- this was the case for HTTP/2 in particular, where content is notified asynchronously, rather than being created by a call to `ContentSource.read()`.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2024-08-07 18:30:51 +02:00
Jan Bartel 661546ecff
Issue #12124 fix jsp scratchdir location for ee9. (#12129)
* Issue #12124 fix jsp scratchdir location for ee9.

Also ensure the name of war appears in the name of the tmp dir for ee9
webapps.
2024-08-06 09:11:16 +10:00
Greg Wilkins abab5949ea
Fix #12128 Combined ClassLoader Resources (#12130)
Fix #12104 by returning a CombinedResource for a ClassLoader resource that has multiple directory matches.
2024-08-05 13:09:53 +10:00
Simone Bordet fe6b14b8fb
Made documentation modules more friendly to IDE.
Now the code examples is a packaging=jar module and it's not under a profile.
The extra execution to compile the code examples is not necessary anymore.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2024-08-04 14:48:22 +02:00
Jan Bartel 54fde0e8be
Issue #12094 restore classloader association during comp/env creation (#12107)
* Issue #12094 restore classloader association during comp/env creation
2024-08-04 16:48:43 +10:00
Simone Bordet e1d03b4c68 Now the documentation has been migrated to Antora, so there is no need for the Java Asciidoctor plugin, and the directories that previously held the documentation using the Asciidoctor Maven plugin.
Renamed the `version` attribute to `jetty-version`, and now using the POM value, rather than a hard-coded one.

Removed references to Asciidoctor from the main POM.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2024-08-03 18:08:17 +03:00
Simone Bordet 84d0574ab6
Fixes #12120 - Introduce properties for cipher suites. (#12126)
Added documentation for advanced TLS configuration.

Updated the javadoc-url attribute to the new javadocs URI.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2024-08-02 15:18:35 +02:00
Joakim Erdfelt 22a86859a5
Merge pull request #12127 from jetty/fix/jetty-12.0.x/12104/ConnectionHeader
Fix #12104 Empty Connection Header
2024-08-02 07:15:16 -05:00
Simone Bordet fa143fa62a
Improvements to HttpSender. (#12111)
* Changed ContentSender demand from iterate()+IDLE to succeeded()+SCHEDULED.
  This ensures that there is no re-iteration in case a 100 Continue response arrives.
  This, in turn, avoids that the demand is performed multiple times, causing ISE to be thrown.
* Changed the 100 Continue action of the proxy Servlet/Handler, that provides the request content, to be executed by the HttpSender, rather than by the HttpReceiver.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2024-08-02 11:28:47 +02:00
gregw 385d943b0c Fix #12104 Empty Connection Header
Fix #12104 by better handling of `close` and `keep-alive` values in the HttpGenerator, so that we never add an empty field.
2024-08-02 14:26:42 +10:00
Joakim Erdfelt 58cfe7709f
Merge pull request #12112 from jetty/fix/jetty-12.0.x/invoker-install-should-include-test-dependencies
invoker:install should include test dependencies as well as they are used by the tests, this issue can happen only when not snapshots have been deployed of demos new versions
2024-07-31 06:45:11 -05:00
Olivier Lamy c7e02ba008
invoker:install should include test dependencies as well as they are used by the tests, this issue can happen only when not snapshots have been deployed of demos new versions
Signed-off-by: Olivier Lamy <olamy@apache.org>
2024-07-31 08:07:55 +10:00
Simone Bordet 87324a70b6
Fixes #11926 - Authority Customizer. (#12066)
Fixes #11926 - Authority Customizer.

Introduced AuthorityCustomizer to synthesize the authority from the Host header (or serverName:serverPort), and related documentation.

Removed additional check on authority's host in `HttpCompliance`, as it was too strict and in the wrong place (authority checks should be factored out elsewhere for all HTTP protocol versions).

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2024-07-30 16:52:55 +02:00
Joakim Erdfelt 497fbf7137
Merge remote-tracking branch 'origin/release/12.0.12' into jetty-12.0.x 2024-07-30 09:21:30 -05:00
Basil Crow a1e90fe6b0
Add missing font MIME types (#12098) 2024-07-28 02:18:25 +02:00
Basil Crow b61e8d82e7
Update `smil` MIME type (#12096) 2024-07-28 09:21:26 +10:00
Basil Crow 05d638da35
Use `text/troff` MIME type (#12095) 2024-07-28 09:21:05 +10:00
Olivier Lamy 2182992b31
add target/jetty-home as part of the cache as it is useful with jetty-home module (#12090)
* add target/jetty-home as part of the cache as it is useful with jetty-home module

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

* include files from src/main/webapp in the cache checkksum

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

---------

Signed-off-by: Olivier Lamy <olamy@apache.org>
2024-07-26 02:58:46 +02:00
Joakim Erdfelt d3af12957b
Updating to version 12.0.13-SNAPSHOT 2024-07-25 17:23:21 -05:00
Joakim Erdfelt cc6f1b74db
Updating to version 12.0.12 2024-07-25 16:57:59 -05:00
Joakim Erdfelt 82ec6d071f
Merge pull request #12093 from jetty/fix/jetty-12/jetty-documentation-skip-deploy
skip deployment of jetty-documentation
2024-07-25 16:52:40 -05:00
Olivier Lamy 81a16869af
skip deployment of jetty-documentation
Signed-off-by: Olivier Lamy <olamy@apache.org>
2024-07-26 07:31:13 +10:00
Joakim Erdfelt e33b3cdb79
Merge pull request #12087 from jetty/jetty-12.0.x-12086-ico-mimetype
Issue #12086 change mimetype of .ico resource to vnd.microsoft.icon
2024-07-25 09:37:44 -05:00
Jan Bartel 37fbd4167c Issue #12086 change mimetype of .ico resource to vnd.microsoft.icon 2024-07-25 08:18:05 +10:00
Jan Bartel 558da27c2d
Issue #12044 ensure temp dir cleaned up (#12045)
* Issue #12044 ensure temp dir cleaned up
2024-07-24 14:20:52 +10:00