Commit Graph

504 Commits

Author SHA1 Message Date
Ludovic Orban 177bafbace #9078 make HttpContent.getByteBuffer() implementations return new ByteBuffer instances and document that contract
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2023-01-10 10:18:55 +01:00
Christian Kohlschütter 6d075a4c17 ee10: DefaultServlet should initialize ResourceFactory unconditionally
Currently, unlike ee9 and ee8, ee10's DefaultServlet initializes
_resourceFactory  only when either "baseResource" or "resourceBase" are
set as init parameters.

In embedded jetty, the resource base can also be set using
ContextHandler#setBaseResource(Resource), which means that
DefaultServlet would not initialize correctly and therefore prevent
operations like overriding the jetty-dir.css stylesheet by throwing an
otherwise unexplicable NullPointerException.

Change ee10 DefaultServlet to always initialize ResourceFactory, like
the ee9 and ee8 variants do.

Signed-off-by: Christian Kohlschütter <christian@kohlschutter.com>
2023-01-09 18:31:10 +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
Olivier Lamy 082e972793
fix missing merging both classes (#9091)
use separate package name to be able to understand which test fail in Jenkins
Signed-off-by: Olivier Lamy <olamy@apache.org>
2022-12-27 09:05:36 +10:00
Greg Wilkins 838091d2be
Alternate DelayedHandler & ThreadLimitHandler implementations #9051 (#9056)
* Improved javadoc
* Refactored ThreadLimitHandler to avoid lambda creation and to always execute
* Refactored DelayedHandler to avoid lambda creation and to execute only if needed
* added modules for the DelayedHandler

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Signed-off-by: Greg Wilkins <gregw@webtide.com>
Co-authored-by: Simone Bordet <simone.bordet@gmail.com>
2022-12-24 10:49:29 +11:00
Lachlan 0e95953be3
Merge pull request #9043 from eclipse/jetty-12.0.x-httpcontentFactoryCleanup
Create StaticHttpContentFactory and other cleanups
2022-12-23 22:54:38 +11:00
Joakim Erdfelt 1f78c90d81
Revert noisy DEBUG logging 2022-12-21 22:28:42 -06:00
Joakim Erdfelt 4ccdf25446
Fix NPE on DEBUG logging 2022-12-21 22:28:19 -06:00
Greg Wilkins 040ed85ae9
Test for ee10 response commit (#9048)
* cleanups of ServletRequestState
* pass in context in constructor when creating the AsyncContextEvent

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
Co-authored-by: Lachlan Roberts <lachlan@webtide.com>
2022-12-22 13:05:38 +11:00
Joakim Erdfelt e753f35965
Adding more LOG.debug() 2022-12-21 12:04:22 -06:00
Jan Bartel 1abaeb6cee
Jetty 12.0.x osgi (#9068) 2022-12-21 08:12:44 -06:00
Olivier Lamy 964e44527d fix package change with new groovy 4.x version
Signed-off-by: Olivier Lamy <olamy@apache.org>
2022-12-21 22:04:00 +10:00
Joakim Erdfelt 869f841a72
Increase DEBUG 2022-12-20 15:04:53 -06:00
Joakim Erdfelt 5265f8ce50
Enable DEBUG to see what's going on 2022-12-20 13:17:28 -06:00
Joakim Erdfelt c3847ce90f
Fix Warning on deprecated init param usage 2022-12-20 13:10:24 -06:00
Jan Bartel 721a4c74fa
Jetty 12.0.x ee10 convert cookie (#9057)
* Convert HttpCookie -> Cookie based on compliance mode.
* Fix max-age
* Fix old cookie handling; getCookies return null instead of empty list
2022-12-20 10:22:38 +11: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
Lachlan Roberts 06f9e5ec18 Merge remote-tracking branch 'origin/jetty-12.0.x' into jetty-12.0.x-httpcontentFactoryCleanup 2022-12-19 21:46:05 +11:00
Greg Wilkins 9f5cb0c691
Async not supported without wrappers (#9061) 2022-12-19 13:23:56 +11:00
Jan Bartel dc49639444 Merge remote-tracking branch 'origin/jetty-11.0.x' into jetty-12.0.x 2022-12-19 10:11:49 +11:00
Lachlan Roberts 0f1420fbd7 changes from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-12-16 17:17:12 +11:00
Jan Bartel f139b66d63
Issue #9046 Fix tck session invalidate test (#9047) 2022-12-14 08:25:52 +11:00
Simone Bordet e16b7948b2 Fixes #9038 - Jetty 12 - Review EE10 Http[Input|Output].Interceptor APIs
Removed HttpInput.Interceptor and HttpOutput.Interceptor.
Simplified AsyncContentProducer.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-12-13 15:33:27 +01:00
Lachlan Roberts 9270e62f78 rename of StaticHttpContentFactory
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-12-13 10:44:35 +11:00
Joakim Erdfelt de5e19b2d0
Merge pull request #9039 from eclipse/fix/jetty-12.0.x/mystery-jakarta-servlet-jsp-jstl-3.0.0-RC1
Jetty 12 - Fix `jakarta.servlet.jsp.jstl-api🫙3.0.0-RC1` warning
2022-12-12 16:58:05 -06:00
Lachlan Roberts abc40afd89 cleanups for HttpContent Factories
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-12-13 09:55:55 +11:00
Olivier Lamy 139d3f2a41
response#getWriter should throw UnsupportedEncodingException in case of bad character encoding used (#9037)
* response#getWriter should throw UnsupportedEncodingException in case of bad character encoding used

Signed-off-by: Olivier Lamy <olamy@apache.org>
2022-12-13 08:47:52 +10:00
Joakim Erdfelt 172f2121ea
Fix for [WARNING] The POM for jakarta.servlet.jsp.jstl:jakarta.servlet.jsp.jstl-api🫙3.0.0-RC1 is missing, no dependency information available 2022-12-12 06:05:32 -06:00
Simone Bordet f8c4783802
Fixes #8975 - Rename getBaseResponse() to getServletContextResponse(). (#8976)
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-12-06 15:08:58 +01:00
Jan Bartel 91c7a51cbc
Issue #8921 Fix normalization of META-INF resources for quickstart (#8922)
* Issue #8921 Fix normalization of META-INF resources for quickstart
2022-12-06 08:51:44 +11:00
Greg Wilkins f59eaa58c9
Fix #8980 addJars to WebAppClassLoader (#8982)
List of resources is a list of resources, not a combined resource.
2022-12-01 15:08:13 +11:00
Ludovic Orban 12e48a7241 replace FSM with SerializedInvoker
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2022-11-29 09:31:49 +01: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
Greg Wilkins 011a7267de
Cleanup ContextHandler (#8928)
* Cleanup ContextHandler

Extracted some of the goodness from #8793:
 + Clear enter/exit scope methods rather than opaque suppliers and Runnables
 + Removed overloading of "Context" class name to avoid accidental usage of wrong type.
 + Less holding onto request/response as fields

* Cleanup ContextHandler

fixed test with no server

* Updates from review.
2022-11-25 14:27:39 +11:00
Lachlan a0a8acd8b9
Merge pull request #8935 from eclipse/jetty-12.0.x-byteranges
Re-enable DefaultServletRangesTest and fix byte ranges for ee10
2022-11-25 10:27:33 +11:00
Lachlan Roberts c8d22c72ea Re-enable DefaultServletRangesTest and fix byte ranges for ee10
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-11-24 14:10:41 +11:00
Greg Wilkins 2460b86d41
Jetty 12 recycle servlet channel (#8909)
Recycle ServletChannel 
Cleanup caching comments and impl
Don't recycle after completion notification
Delay setting callback until ServletHandler.handle called
Check that the retrieved ServletChannel is for the same context.
2022-11-24 13:56:43 +11:00
Greg Wilkins a44af984b5
Jetty 12 mimetype cleanup (#8919)
MimeTypes now available via context.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2022-11-23 14:30:11 +11:00
Joakim Erdfelt b7d7e53ac7
Merge pull request #8924 from eclipse/fix/jetty-12-fileid-getextension-jdk-20
Jetty 12 - Align `FileID.getExtension()` with JDK20 behaviors
2022-11-22 08:24:03 -06:00
Jan Bartel 07202102b8
Jetty 12 - Re-enable some disabled session tests. (#8714)
* Re-enable some disabled session tests.

* Add needed test resources to ee8 jdbc session test.
2022-11-22 17:25:06 +11:00
Joakim Erdfelt 95e149b236
Issue #8923 - Fixing WebAppClassLoader expectations 2022-11-21 16:20:27 -06:00
Greg Wilkins 8265ce6231
Fix style and format of switches in AbstractTest (#8925) 2022-11-22 09:06:35 +11:00
Joakim Erdfelt 834f94bca0
Merge remote-tracking branch 'origin/jetty-11.0.x' into jetty-12.0.x 2022-11-21 10:44:36 -06:00
Joakim Erdfelt 363dcdec3a
Merge pull request #8884 from eclipse/fix/jetty-12-move-gzipdefaultservlettest
Jetty 12 - Move `GzipDefaultServletTest` tests to jetty-core/jetty-server tests
2022-11-21 10:41:41 -06:00
Simone Bordet 71e0414cbc
Merged branch 'jetty-11.0.x' into 'jetty-12.0.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-11-21 15:52:11 +01:00
Simone Bordet e7f6f6729a
Restored server push functionality. (#8760)
* Restored server push functionality.

* Moved Request.isPushSupported() to ConnectionMetaData.
* Removed HttpStream.isPushSupported().
* Implemented ee10 PushBuilder.
* Moved PushCacheFilterTest from core to ee10.
* Duplicated PushCacheFilterTest to ee9.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Co-authored-by: Greg Wilkins <gregw@webtide.com>
2022-11-21 12:18:19 +01:00
Jan Bartel 9cb6cc62d5 Merge remote-tracking branch 'origin/jetty-11.0.x' into jetty-12.0.x 2022-11-21 13:15:27 +11:00
Greg Wilkins dc7de0e229 Removed some old TODOs and deprecated method 2022-11-17 17:36:05 +11:00
Simone Bordet ec690e2809
Merged branch 'jetty-11.0.x' into 'jetty-12.0.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-11-16 22:04:35 +01:00
Simone Bordet da67879cf1
Fixed inconsistencies in naming for styleSheet.
Some classes had the second S capitalized, some did not, so now stylesheel -> styleSheet.

CSS has 2 "S" for "S"tyle"S"heet.
Also, the DOM API and the Swing API have "StyleSheet".

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-11-16 12:18:23 +01:00