clj-http icon indicating copy to clipboard operation
clj-http copied to clipboard

An idiomatic clojure http client wrapping the apache client. Officially supported version.

Results 76 clj-http issues
Sort by recently updated
recently updated
newest added

# Why There is a lot of weird APIs in the wild and to use some of them we need to know our MultiPart boundary. The easiest way to obtain...

**Update:** See next comment. --- I created a minimal repro at https://github.com/phronmophobic/close-hang-repro. The reproduction is fairly straightforward: ```clojure (require '[clj-http.client :as http]) (defn -main [& args] (let [url "https://github.com/uscensusbureau/citysdk/archive/bc93425d47508741c8fa8131ac09a53372e1e088.zip" response...

Hi! I ran into the following when talking to AWS SQS, when I sent data like ``` :query-params {"Action" "SendMessage" "MessageBody" "foo bar"} ``` which get's encoded into ``` :query-string...

if there is 1 cookie assignment on a line from the webserver it works. ``` justin@parens:~$ cat headers content-type: application/json; charset=utf-8 set-cookie: expires=0 justin@parens:~$ cat return {"key":"val"} justin@parens:~$ { echo...

deps ``` {:deps { org.clojure/clojure {:mvn/version "1.11.1"} clj-http/clj-http {:mvn/version "3.12.3"} cheshire/cheshire {:mvn/version "5.11.0"}}} ``` code ``` (require '[clj-http.client :as client]) (client/post "http://localhost:3000" {:debug true :as :json :query-params {:items [{:key1 "value"}]}})...

When making API calls to an external provider, we need to have the query parameters in `camelCase` rather than our beloved `kebab-case` 😢 To achieve this we have a small...

The socket gets into an incorrect state across threads when the connection-manager is shared. New sockets should be created, same as plain HTTP.

Retries work well with IOExceptions (like timeouts). :+1: I had assumed that retries would also be applied, when a service is reported (temporarily) unavailable like 502, 503 & 504 When...

Checking the conn-mgr, looks like the socks proxy support is isolated from the async connection manager. Is there any way to accomplish it downstream? Or do I have to edit...

If you have a function like this: ```clojure (defn make-request [request] (http/with-additional-middleware [...] (http/request request))) ``` And you call it with mocking, like so: ```clojure (binding [http/request (http/make-request (constantly {:status...