Commit Graph

51 Commits

Author SHA1 Message Date
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
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
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
Jan Bartel 1abaeb6cee
Jetty 12.0.x osgi (#9068) 2022-12-21 08:12:44 -06: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
Jan Bartel c4e1db57ee Issue #8460 simplify DefaultSessionIdManager start (#8464)
* Issue #8460 check DefaultSessionIdManager is started
2022-11-24 09:43:57 +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 18f22816c9
Merge remote-tracking branch 'origin/jetty-11.0.x' into jetty-12.0.x 2022-11-17 13:01:00 -06: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
Greg Wilkins ac6abb307d
ResourceHandler set base resource as string (#8735)
* ResourceHandler set base resource as string

* ResourceCollection should not have a path

fixed tests
2022-10-21 09:32:54 +11:00
Jan Bartel 756cf2102e
Fix jaas demos (#8689)
* Fix jaas demos add distro test
2022-10-12 09:33:14 +11:00
Joakim Erdfelt 04dd551919
Merge remote-tracking branch 'origin/jetty-11.0.x' into jetty-12.0.x 2022-10-05 13:04:56 -05:00
Joakim Erdfelt 3eca6901cc
Jetty 12 : ResourceFactory.of(WebAppContext) to WebAppContext.getResourceFactory() (#8610)
* ResourceFactory.of(WebAppContext) to WebAppContext.getResourceFactory()
2022-09-23 05:38:21 -05:00
Simone Bordet 910bb41702 Removed duplicate client transport tests already present in core.
Properly implemented request and response trailers for all the transports, both client and server.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-09-21 20:03:49 +02: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
Olivier Lamy 0e526d9b3f fix deployment of some demo modules
Signed-off-by: Olivier Lamy <oliver.lamy@gmail.com>
2022-08-23 12:15:38 +10:00
Simone Bordet a3ba86266a
Implemented ProxyHandler in new module jetty-core/jetty-proxy. (#8475)
Moved ConnectHandler to org.eclipse.jetty.server.handler, where it should have been from the start.

Cleaned up and corrected behavior of SecureRequestCustomizer.
Now the response is wrapped with isSecure=true if it arrived over a secure transport.
The request URI scheme indicates whether the request is secure towards the origin server.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-08-19 09:38:34 +02:00
Joakim Erdfelt 739a0f77da
Fixing OneWebApp (EE9) test issue 2022-08-16 15:05:28 -05:00
Joakim Erdfelt 94317e2a6a
Fixing ProxyWebAppTest test issue 2022-08-16 15:05:19 -05:00
Greg Wilkins af5fecd18d
Jetty 12 : Rename resourceBase to baseResource (#8310)
* rename to baseResource
2022-08-15 12:24:13 +10:00
Olivier Lamy c011126e63
fix hardcoding versions in mod files (#8459)
Signed-off-by: Olivier Lamy <oliver.lamy@gmail.com>
2022-08-13 19:43:07 +10:00
Simone Bordet 6f0f8854de
Merged branch 'jetty-12.0.x' into 'jetty-12.0.x-module-renaming'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-08-12 17:31:01 +02:00
Olivier Lamy 44a37746e6
Jetty 12 : reactivate `jetty-ee9-demo-embedded` and `jetty-ee9-demo-proxy-webapp` and add more (#8419)
* ee8 demos to use ee9 demos resources
* add jetty-ee8-demo-jaas-webapp
* add jetty-ee8-demo-jndi-webapp jetty-ee8-demo-mock-resources
* uhm jetty-ee8-demo-jetty-webapp have some issues
* fix jetty-ee8-demo-jetty-webapp
* fix some jetty-ee9-demo-embedded and add back jetty-ee8-demo-proxy-webapp
* demo-embedded need to have jetty-ee9-demo-jsp-webapp built first
* fixing more demos modules. Activate dist test for demo modules and all env


Signed-off-by: Olivier Lamy <oliver.lamy@gmail.com>
2022-08-12 17:52:53 +10: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
Greg Wilkins d9b53a6174 fix ee9 demo context paths
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2022-08-10 17:33:58 +10:00
Greg Wilkins 408de26ec2 Created core-demo and updated demo root
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2022-08-10 12:04:39 +10:00
Joakim Erdfelt cd375d2835
Inline ResourceFactory.of(Container) usages in demos 2022-08-05 10:15:12 -05:00
Joakim Erdfelt 40b1bcef5f
More work to use ResourceFactory properly 2022-08-04 17:54:37 -05:00
Joakim Erdfelt 7fb119bb32
Merge remote-tracking branch 'origin/jetty-11.0.x' into jetty-12.0.x 2022-07-18 12:50:16 -05:00
Greg Wilkins cdc1b079ae ee8 ee9 ee10 webapp demos
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2022-07-14 16:15:22 +10:00
Greg Wilkins c05c79313b less simple simple demo
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2022-07-14 14:07:10 +10:00
Olivier Lamy 08865ed5a8
restore jetty-ee8-demo-simple-webapp and jetty-ee8-demo-async-rest (#8299)
Signed-off-by: Olivier Lamy <oliver.lamy@gmail.com>
2022-07-14 12:18:23 +10:00
Jan Bartel 122488d12b Fix name of async rest webapp 2022-07-13 13:47:41 +10:00
Jan Bartel fccf8a9f51 Enable tests 2022-07-13 13:41:17 +10:00
Jan Bartel 927e94f673 Add env scope to JNDI 2022-07-13 12:13:01 +10:00
Jan Bartel b6d8bcb7b4 Merge remote-tracking branch 'origin/jetty-12.0.x' into jetty-12.0.x-ee9-demos 2022-07-13 10:05:35 +10:00
Jan Bartel 34d21dd1ec WIP get ee9 demos working; fix some ee10 demos 2022-07-12 18:23:37 +10:00
Greg Wilkins febfbfca3b For #8285 serve resource from jar
+ fixed ee9-demo-async-rest
+ CachedContentFactory now needs to ignore `UnsupportedOperationException`

I don't think this is a great fix, as throwing an exception in a normal path is not optimal.
2022-07-12 13:04:56 +10:00
Jan Bartel a5fcce595f WIP 2022-07-11 23:21:35 +10:00
Jan Bartel d03193a770 WIP make ee9 demos work 2022-07-11 16:43:35 +10:00
Greg Wilkins 33487b5fd8 reenable ee9 distribution tests
Signed-off-by: Jan Bartel <janb@webtide.com>
2022-07-08 09:51:29 +10:00
Jan Bartel fc3fb15dc4 Fix jetty-ee10-demo-jndi/jetty-webapp and ContextProvider 2022-07-04 15:42:17 +10:00
Greg Wilkins ea5bedf072
Jetty 12.0.x deployment (#8208)
Deploy webapps for different environments from the same webapps directory.
The maximal environment known to the AppProviders is used as the default environment.
An explicit environment can be set in a properties file for an application, which is also used for property substitution in any context xml file.
2022-06-30 09:51:19 +10:00
Olivier Lamy 6c4f3b37e7
rename ee9-demo to jetty-ee9-demo (#8178)
Signed-off-by: Olivier Lamy <oliver.lamy@gmail.com>
2022-06-20 14:48:22 +10:00
Greg Wilkins 6b1dfec971 reenabled more ee9 modules 2022-06-15 10:05:56 +10:00
Greg Wilkins a5c438fd29
Rename demo-eeX to eeX-demo (#8097)
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2022-06-06 08:58:09 +10:00
Jan Bartel 570cf12754 WIP fix mvn coords for demo webapp modules 2022-05-26 07:59:52 +10:00
Jan Bartel a5bb51785d WIP rename ee10 demo modules; fix modules 2022-05-25 19:07:18 +10:00
Jan Bartel c096cc07ba Build more demo webapps; fix errors in module files. 2022-05-16 13:37:34 +02:00
Greg Wilkins 22c1a2e901 Fixed webdefault-eeX.xml references 2022-05-13 10:16:06 +02:00