Details
-
Sub-task
-
Status: Closed
-
Major
-
Resolution: Done
-
None
-
None
-
None
Description
We need to make jmap-draft use a server based on reactor-netty, instead of jetty (james-server-jetty). For this, you need to:
- create a new module jmap that will implement the server with its configuration, and will be used as the meta project redirecting to the right jmap version being requested (see #1639)
- port the code of jmap-draft to use the new netty server instead of jetty. Features that are directly being leveraged by jetty are:
- user/mailbox provisioning
- authentication filters
- request routing
In order to succeed this refactoring, you can:
- Create a HTTP server: https://projectreactor.io/docs/netty/release/reference/index.html#http-server
- Port request routing: https://projectreactor.io/docs/netty/release/reference/index.html#_routing_http and https://projectreactor.io/docs/netty/release/reference/index.html#_consuming_data_3
- It seems there is no high level methods to manage filters, so you will need to manage it manually in each route
Reference material: https://projectreactor.io/docs/netty/release/reference/index.html
DoD: Successful port to reactor-netty with all the tests passing for jmap-draft