dakrone / clj-http

An idiomatic clojure http client wrapping the apache client. Officially supported version.
http://clojars.org/clj-http
MIT License
1.78k stars 408 forks source link

Warnings about httpclient version when using clj-http with latest aws-sdk-java #514

Closed jsyrjala closed 4 years ago

jsyrjala commented 5 years ago

When using [clj-http "3.9.1"] with [com.amazonaws/aws-java-sdk-core "1.11.612"], there is this warning.

WARN c.a.http.apache.utils.ApacheUtils - NoSuchMethodError was thrown when disabling normalizeUri. This indicates you are using an old version (< 4.5.8) of Apache http client. It is recommended to use http client version >= 4.5.9 to avoid the breaking change introduced in apache client 4.5.7 and the latency in exception handling. See https://github.com/aws/aws-sdk-java/issues/1919 for more information

See https://github.com/aws/aws-sdk-java/issues/1919 for more details.

clj-http 3.9.1 includes these

   [org.apache.httpcomponents/httpasyncclient "4.1.3" :exclusions [[org.clojure/clojure]]]
     [org.apache.httpcomponents/httpcore-nio "4.4.6"]
   [org.apache.httpcomponents/httpclient-cache "4.5.5" :exclusions [[org.clojure/clojure]]]
   [org.apache.httpcomponents/httpclient "4.5.5" :exclusions [[org.clojure/clojure]]]
   [org.apache.httpcomponents/httpcore "4.4.9" :exclusions [[org.clojure/clojure]]]
   [org.apache.httpcomponents/httpmime "4.5.5" :exclusions [[org.clojure/clojure]]]

clj-http 3.10.0 includes these, but this version is not usable due to #489.

   [org.apache.httpcomponents/httpasyncclient "4.1.4" :exclusions [[org.clojure/clojure]]]
     [org.apache.httpcomponents/httpcore-nio "4.4.10"]
   [org.apache.httpcomponents/httpclient-cache "4.5.8" :exclusions [[org.clojure/clojure]]]
   [org.apache.httpcomponents/httpclient "4.5.8" :exclusions [[org.clojure/clojure]]]
   [org.apache.httpcomponents/httpcore "4.4.11" :exclusions [[org.clojure/clojure]]]
   [org.apache.httpcomponents/httpmime "4.5.8" :exclusions [[org.clojure/clojure]]]
jsyrjala commented 5 years ago

Order of including aws-java-sdk and clj-http in project.clj affects whether the warnings are shown.