Comments (13)
What happens when Jetty 13 is released? 😁
from http4k.
What I'll do is to upgrade the dependencies for the server and client to 12 and then see what breaks.That should give us a fair idea of the impact. I would guess most things in the server, like HTTP and SSE handling, would break, as well as the client body handling, because that model has completely changed. That's what I get for contributing the client and SSE code in the past 😆
from http4k.
Unfortunately, Jetty 12 is almost a total rewrite of the Jetty 11 APIs and thus will require significant rework of the http4k code as well. Also, the migration docs aren't very informative (happy to be wrong on this if people have pointers!).
We do know about it but would appreciate any help to get the APIs migrated - it's definitely not a priority for us (especially because we personally tend to use Undertow as our server of choice :) )
from http4k.
I would suggest to create new client and server modules to support Jetty 12, seeing as the API, as well as class and package names, have changed so significantly. So for example, http4k-server-jetty12
and http4k-client-jetty12
.
That would allow users to chose whether they want to use the latest Jetty version or still stay on version 11 (both will be supported by Jetty for years).
That would also make the migration path easier for users that have custom Jetty setups, like servlets and filters, that would also have to be migrated before making the leap to version 12.
I'd be happy to work on the new modules, if @daviddenton and @s4nchez agree with the proposed approach.
from http4k.
it's what we did for apache 4-5, so that seems ok - however for that version we actually made the OLD one the versioned one and left new one to be without the number. I'd propose the same thing here, so we'd have:
http4k-server-jetty-11 (v11)
http4k-server-jetty (v12)
from http4k.
Seriously though, the naming of the new modules is less of an issue and I would always favour consistency.
from http4k.
As long as the APIs are compatible, we've generally upgraded major versions silently (with a Semver bump of course) as it doesn't really affect the vast majority of users. eg. we went from jetty 8 -> 11 with no issues :)
from http4k.
I'm tempted to have a go... (famous last words)
from http4k.
So the module name of org.eclipse.jetty:jetty-server
is still the same in version 12, which mean we won't be able to (AFAIK) have two versions defined in the versions.properties
file for refreshVersions
plugin. That means, unless we do something hacky, that having two modules targeting different versions of Jetty would be difficult.
Maybe just have to bite the bullet and upgrade Jetty to 12...
from http4k.
We might be able to work around that, so having a decent idea about the work involved in an upgrade would be helpful. J21 is out now, so (as soon as Helidon upgrades to it - the preview features flags from v20 are incompatible with v21! 🙄 ) we can actually bump the major version number, which would be a good time to upgrade to Jetty12 as well :)
from http4k.
I've started work on the server side. Not too bad so far - just have to code to the Jetty API instead of the servlet API. That probably means that dependency (Servlet) can go from the module.
from http4k.
I've not had the time to work on this for a while, but I will continue today.
from http4k.
This is due for the next release (5.12.0.0), so am closing
from http4k.
Related Issues (20)
- Jackson does not honour serialisation of Enums when they are used as Map keys HOT 1
- Support multi value query parameters in ApiGatewayV2LambdaFunction (http4k-serverless/lambda)
- Documentation error? - Lambda version HOT 2
- For a request with matching if-none-match header the response lacks the etag header HOT 1
- Header values in quotes lose their quotes HOT 2
- Client code works with OkHttp, fails with Java HTTP HOT 1
- Maven POM for http4k-format-jackson-xml is invalid: jackson-dataformat-xml is missing a version HOT 1
- Deserialisation exception from GraphQLResponse.from
- OpenApi 3 schema generation is flawed for Maps HOT 5
- Java8HttpClient causes SignatureDoesNotMatch exception on S3Bucket.copyObject() request HOT 11
- Support WsHandler symmetry HOT 1
- Http4kWebDriver does not work on Windows due to path issues. HOT 3
- Add BiDiLensSpec defaulted with factory method HOT 5
- Error when parsing AWS lambda event from S3 bucket HOT 3
- HTTP Header Parsing in http4k after Upgrading to Version 5.13.7.0 HOT 6
- Servirtium fails to respond with correct headers when using Apollo Kotlin and large response HOT 8
- Support gzip on clients by default / clearly describe that it's missing and include in examples HOT 3
- Opentelemetry Baggage header not propagating as expecting HOT 4
- Route name without a beginning / works for everything except static resources HOT 4
- Skip cors headers if domain not matching
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from http4k.