From 20ddd4515085e8d4d2bd6ecea89bcc914b3433d7 Mon Sep 17 00:00:00 2001 From: "Walter C. Pelissero" Date: Wed, 5 Jun 2019 12:41:23 +0200 Subject: [PATCH 1/4] Allow for specifying the preferred auth schemes in http requests. --- src/clj_http/core.clj | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/clj_http/core.clj b/src/clj_http/core.clj index 1acc835d..6cc0bed7 100644 --- a/src/clj_http/core.clj +++ b/src/clj_http/core.clj @@ -186,7 +186,8 @@ cookie-spec ; deprecated conn-request-timeout - conn-timeout] + conn-timeout + auth-schemes] :as req}] (let [config (-> (RequestConfig/custom) (.setConnectTimeout (or connection-timeout conn-timeout -1)) @@ -198,7 +199,8 @@ (boolean (opt req :allow-circular-redirects))) (.setRelativeRedirectsAllowed ((complement false?) - (opt req :allow-relative-redirects))))] + (opt req :allow-relative-redirects))) + (.setTargetPreferredAuthSchemes auth-schemes))] (if cookie-spec (.setCookieSpec config CUSTOM_COOKIE_POLICY) (.setCookieSpec config (get-cookie-policy req))) From e49c803a90d5f0d1aa1ddf2bb9aadef3e4bfa91f Mon Sep 17 00:00:00 2001 From: "Walter C. Pelissero" Date: Tue, 11 Jun 2019 16:27:25 +0200 Subject: [PATCH 2/4] Added proxy-auth-schemes request option --- src/clj_http/core.clj | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/clj_http/core.clj b/src/clj_http/core.clj index 6cc0bed7..2455807b 100644 --- a/src/clj_http/core.clj +++ b/src/clj_http/core.clj @@ -187,7 +187,8 @@ ; deprecated conn-request-timeout conn-timeout - auth-schemes] + auth-schemes + proxy-auth-schemes] :as req}] (let [config (-> (RequestConfig/custom) (.setConnectTimeout (or connection-timeout conn-timeout -1)) @@ -200,7 +201,8 @@ (.setRelativeRedirectsAllowed ((complement false?) (opt req :allow-relative-redirects))) - (.setTargetPreferredAuthSchemes auth-schemes))] + (.setTargetPreferredAuthSchemes auth-schemes) + (.setProxyPreferredAuthSchemes proxy-auth-schemes))] (if cookie-spec (.setCookieSpec config CUSTOM_COOKIE_POLICY) (.setCookieSpec config (get-cookie-policy req))) From 4dbedc0a729ee7992e9ff47fb5bad3aafd04e0d2 Mon Sep 17 00:00:00 2001 From: "Walter C. Pelissero" Date: Tue, 11 Jun 2019 16:28:11 +0200 Subject: [PATCH 3/4] Documentation for (proxy-)auth-schemes options --- README.org | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/README.org b/README.org index 13a69ab5..6c315c92 100644 --- a/README.org +++ b/README.org @@ -1073,6 +1073,23 @@ missed, etc: (client/get "http://example.com/protected" {:oauth-token "secret-token"}) +** Preferred Authentication +:PROPERTIES: +:CUSTOM_ID: h-c29486f9-8c54-11e9-acb1-90b11c96f2d2 +:END: + +To select the preferred authentication scheme: + +#+BEGIN_SRC clojure + +(client/get "http://example.com/protected" {:auth-schemes ["NTLM"]}) + +#+END_SRC + +#+BEGIN_SRC clojure + +(client/get "http://example.com/protected" {:proxy-auth-schemes ["BASIC" "DIGEST"]}) + #+END_SRC * Advanced Usage From 6e37d5a38113831683d10980e66335054546edd9 Mon Sep 17 00:00:00 2001 From: "Walter C. Pelissero" Date: Tue, 11 Jun 2019 16:30:22 +0200 Subject: [PATCH 4/4] Mended broken code block in README --- README.org | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.org b/README.org index 6c315c92..86576fd2 100644 --- a/README.org +++ b/README.org @@ -1073,6 +1073,9 @@ missed, etc: (client/get "http://example.com/protected" {:oauth-token "secret-token"}) +#+END_SRC + + ** Preferred Authentication :PROPERTIES: :CUSTOM_ID: h-c29486f9-8c54-11e9-acb1-90b11c96f2d2