Specifies the default HttpClient used by the request
function.
Value may be a delay.
A common use case is to replace the default (non-SNI-capable) client with an SNI-capable one, e.g.:
(:require [org.httpkit.sni-client :as sni-client]) ; Needs Java >= 8
;; Change default client for your whole application: (alter-var-root #'org.httpkit.client/default-client (fn [_] sni-client/default-client))
;; or temporarily change default client for a particular thread context: (binding [org.httpkit.client/default-client sni-client/default-client] <...>)
See also make-client
.
Specifies the default HttpClient used by the `request` function. Value may be a delay. A common use case is to replace the default (non-SNI-capable) client with an SNI-capable one, e.g.: (:require [org.httpkit.sni-client :as sni-client]) ; Needs Java >= 8 ;; Change default client for your whole application: (alter-var-root #'org.httpkit.client/*default-client* (fn [_] sni-client/default-client)) ;; or temporarily change default client for a particular thread context: (binding [org.httpkit.client/*default-client* sni-client/default-client] <...>) See also `make-client`.
(acl url & [opts callback])
(acl url & [callback])
Issues an async HTTP ACL request. See request
for details.
Issues an async HTTP ACL request. See `request` for details.
(copy url & [opts callback])
(copy url & [callback])
Issues an async HTTP COPY request. See request
for details.
Issues an async HTTP COPY request. See `request` for details.
(delete url & [opts callback])
(delete url & [callback])
Issues an async HTTP DELETE request. See request
for details.
Issues an async HTTP DELETE request. See `request` for details.
(get url & [opts callback])
(get url & [callback])
Issues an async HTTP GET request. See request
for details.
Issues an async HTTP GET request. See `request` for details.
(head url & [opts callback])
(head url & [callback])
Issues an async HTTP HEAD request. See request
for details.
Issues an async HTTP HEAD request. See `request` for details.
(lock url & [opts callback])
(lock url & [callback])
Issues an async HTTP LOCK request. See request
for details.
Issues an async HTTP LOCK request. See `request` for details.
(make-client {:keys [max-connections address-finder ssl-configurer error-logger
event-logger event-names bind-address]})
Returns an HttpClient with specified options: :max-connections ; Max connection count, default is unlimited (-1) :address-finder ; (fn [java.net.URI]) -> java.net.InetSocketAddress :ssl-configurer ; (fn [javax.net.ssl.SSLEngine java.net.URI]) :error-logger ; (fn [text ex]) :event-logger ; (fn [event-name]) :event-names ; {<http-kit-event-name> <loggable-event-name>} :bind-address ; when present will pass local address to SocketChannel.bind()
Returns an HttpClient with specified options: :max-connections ; Max connection count, default is unlimited (-1) :address-finder ; (fn [java.net.URI]) -> java.net.InetSocketAddress :ssl-configurer ; (fn [javax.net.ssl.SSLEngine java.net.URI]) :error-logger ; (fn [text ex]) :event-logger ; (fn [event-name]) :event-names ; {<http-kit-event-name> <loggable-event-name>} :bind-address ; when present will pass local address to SocketChannel.bind()
(make-ssl-engine)
(make-ssl-engine ctx)
Returns an SSLEngine using default or given SSLContext.
Returns an SSLEngine using default or given SSLContext.
(max-body-filter size)
reject if response's body exceeds size in bytes
reject if response's body exceeds size in bytes
(move url & [opts callback])
(move url & [callback])
Issues an async HTTP MOVE request. See request
for details.
Issues an async HTTP MOVE request. See `request` for details.
(options url & [opts callback])
(options url & [callback])
Issues an async HTTP OPTIONS request. See request
for details.
Issues an async HTTP OPTIONS request. See `request` for details.
(patch url & [opts callback])
(patch url & [callback])
Issues an async HTTP PATCH request. See request
for details.
Issues an async HTTP PATCH request. See `request` for details.
(post url & [opts callback])
(post url & [callback])
Issues an async HTTP POST request. See request
for details.
Issues an async HTTP POST request. See `request` for details.
(propfind url & [opts callback])
(propfind url & [callback])
Issues an async HTTP PROPFIND request. See request
for details.
Issues an async HTTP PROPFIND request. See `request` for details.
(proppatch url & [opts callback])
(proppatch url & [callback])
Issues an async HTTP PROPPATCH request. See request
for details.
Issues an async HTTP PROPPATCH request. See `request` for details.
(put url & [opts callback])
(put url & [callback])
Issues an async HTTP PUT request. See request
for details.
Issues an async HTTP PUT request. See `request` for details.
(query-string m)
Returns URL-encoded query string for given params map.
Returns URL-encoded query string for given params map.
(report url & [opts callback])
(report url & [callback])
Issues an async HTTP REPORT request. See request
for details.
Issues an async HTTP REPORT request. See `request` for details.
(request {:keys [client timeout connect-timeout idle-timeout filter worker-pool
keepalive as follow-redirects max-redirects response
trace-redirects allow-unsafe-redirect-methods proxy-host
proxy-port proxy-url tunnel? deadlock-guard?]
:as opts
:or {idle-timeout 60000
proxy-port -1
tunnel? false
response (promise)
follow-redirects true
proxy-url nil
as :auto
deadlock-guard? true
proxy-host nil
worker-pool default-pool
max-redirects 10
keepalive 120000
filter IFilter/ACCEPT_ALL
connect-timeout 60000}}
&
[callback])
Issues an async HTTP request and returns a promise object to which the value
of (callback {:opts _ :status _ :headers _ :body _})
or
(callback {:opts _ :error _})
will be delivered.
The latter will be delivered on client errors only, not on http errors which will be
contained in the :status of the first.
When unspecified, callback
is the identity
;; Asynchronous GET request (returns a promise) (request {:url "http://www.cnn.com"})
;; Asynchronous GET request with callback (request {:url "http://www.cnn.com" :method :get} (fn [{:keys [opts status body headers error] :as resp}] (if error (println "Error on" opts) (println "Success on" opts))))
;; Synchronous requests @(request ...) or (deref (request ...) timeout-ms timeout-val)
;; Issue 2 concurrent requests, then wait for results (let [resp1 (request ...) resp2 (request ...)] (println "resp1's status: " (:status @resp1)) (println "resp2's status: " (:status @resp2)))
Output coercion: ;; Return the body as a byte stream (request {:url "http://site.com/favicon.ico" :as :stream}) ;; Coerce as a byte-array (request {:url "http://site.com/favicon.ico" :as :byte-array}) ;; return the body as a string body (request {:url "http://site.com/string.txt" :as :text}) ;; Try to automatically coerce the output based on the content-type header, currently supports :text :stream, (with automatic charset detection) (request {:url "http://site.com/string.txt" :as :auto}) ;; return the body as is with no unzipping or coercion whatsoever. returns as org.httpkit.DynamicBytes (request {:url "http://site.com/favicon.ico" :as :none})
Request options: :url :method :headers :timeout :connect-timeout :idle-timeout :query-params :as :form-params :client :body :basic-auth :user-agent :filter :worker-pool
Issues an async HTTP request and returns a promise object to which the value of `(callback {:opts _ :status _ :headers _ :body _})` or `(callback {:opts _ :error _})` will be delivered. The latter will be delivered on client errors only, not on http errors which will be contained in the :status of the first. When unspecified, `callback` is the identity ;; Asynchronous GET request (returns a promise) (request {:url "http://www.cnn.com"}) ;; Asynchronous GET request with callback (request {:url "http://www.cnn.com" :method :get} (fn [{:keys [opts status body headers error] :as resp}] (if error (println "Error on" opts) (println "Success on" opts)))) ;; Synchronous requests @(request ...) or (deref (request ...) timeout-ms timeout-val) ;; Issue 2 concurrent requests, then wait for results (let [resp1 (request ...) resp2 (request ...)] (println "resp1's status: " (:status @resp1)) (println "resp2's status: " (:status @resp2))) Output coercion: ;; Return the body as a byte stream (request {:url "http://site.com/favicon.ico" :as :stream}) ;; Coerce as a byte-array (request {:url "http://site.com/favicon.ico" :as :byte-array}) ;; return the body as a string body (request {:url "http://site.com/string.txt" :as :text}) ;; Try to automatically coerce the output based on the content-type header, currently supports :text :stream, (with automatic charset detection) (request {:url "http://site.com/string.txt" :as :auto}) ;; return the body as is with no unzipping or coercion whatsoever. returns as org.httpkit.DynamicBytes (request {:url "http://site.com/favicon.ico" :as :none}) Request options: :url :method :headers :timeout :connect-timeout :idle-timeout :query-params :as :form-params :client :body :basic-auth :user-agent :filter :worker-pool
(unlock url & [opts callback])
(unlock url & [callback])
Issues an async HTTP UNLOCK request. See request
for details.
Issues an async HTTP UNLOCK request. See `request` for details.
(url-encode s)
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close