Open vkz opened 2 years ago
Simplest temp solution could be:
com.cognitect.http-client
,:exclude
other mentions of that client from upstream deps,configure-jetty-announce
since that property simply don't exist in Jetty 10,Briefly looking at Jetty http-client 9 vs Jetty http-client 10 they may actually be compatible from the user perspective. If I read docs correctly, may be even able to ditch SSL context setup from cognitect http-client, cause Jetty 10 does necessary setup automatically to get HTTPS?
Alternative could be to switch to something like https://github.com/dakrone/clj-http but:
Effects #3 which in our case relies on
ring-jetty9-adapter
.Effect:
ring-jetty9-adapter
with WebSocket support andcongintect/aws-api
cannot be used in the same projectring-jetty9-adapter
solution works fine, but sadly creates a conflict withcognitect/aws-api
. Former, pulls in Jetty v10, while latter depends oncognitect/http-client
which needs Jetty v9. These two are incompatible versions with breaking API changes. With Jetty v10,cognitect/http-client
throws when attempting to execute the following top-level code (so it breaks whenever attempt is made to even load that namespace):Problem is
Log
in Jetty 10 doesn't even have that method.There is no way to resolve this conflict, so we either use
ring-jetty9-adapter
with WebSocket support orcongintect/aws-api
but not both at the same time in the same project. Sigh.Two possible solutions here.
cognitect/aws-api
and make it our own by changingcognitect/http-client
to use Jetty v10 API.To add to confusion
cognitect/http-client
source is nowhere to be found i.e. not on Github. But you can grab source from the.m2/repositories/com/cognitect/http-client
- it is just a single file.