This middleware is adapted from clj-http, whose license is amendable to this sort of copy/pastery
This middleware is adapted from clj-http, whose license is amendable to this sort of copy/pastery
(coerce-json-body {:keys [coerce] :as req}
{:keys [body status] :as resp}
keyword?
strict?
&
[charset])
(coerce-transit-body {:keys [transit-opts] :as request}
{:keys [body] :as resp}
type)
(detect-charset content-type)
Given a charset header, detect the charset, returns UTF-8 if not found.
Given a charset header, detect the charset, returns UTF-8 if not found.
(dissoc-in m [k & ks :as keys])
Dissociates an entry from a nested associative structure returning a new nested structure. keys is a sequence of keys. Any empty maps that result will not be present in the new structure.
Dissociates an entry from a nested associative structure returning a new nested structure. keys is a sequence of keys. Any empty maps that result will not be present in the new structure.
(follow-redirect client
{:keys [uri url scheme server-name server-port trace-redirects]
:or {trace-redirects []}
:as req}
{:keys [body] :as rsp})
Attempts to follow the redirects from the "location" header, if no such header exists (bad server!), returns the response without following the request.
Attempts to follow the redirects from the "location" header, if no such header exists (bad server!), returns the response without following the request.
(handle-redirects client
{:keys [request-method max-redirects redirects-count
trace-redirects url]
:or {redirects-count 0 max-redirects 20}
:as req}
{:keys [status] :as rsp})
Middleware that follows redirects in the response. A slingshot exception is thrown if too many redirects occur. Options :follow-redirects - default:true, whether to follow redirects :max-redirects - default:20, maximum number of redirects to follow :force-redirects - default:false, force redirecting methods to GET requests
In the response: :redirects-count - number of redirects :trace-redirects - vector of sites the request was redirected from
Middleware that follows redirects in the response. A slingshot exception is thrown if too many redirects occur. Options :follow-redirects - default:true, whether to follow redirects :max-redirects - default:20, maximum number of redirects to follow :force-redirects - default:false, force redirecting methods to GET requests In the response: :redirects-count - number of redirects :trace-redirects - vector of sites the request was redirected from
(json-decode & args)
Resolve and apply cheshire's json decoding dynamically.
Resolve and apply cheshire's json decoding dynamically.
(json-decode-strict & args)
Resolve and apply cheshire's json decoding dynamically (with lazy parsing disabled).
Resolve and apply cheshire's json decoding dynamically (with lazy parsing disabled).
(json-encode & args)
Resolve and apply cheshire's json encoding dynamically.
Resolve and apply cheshire's json encoding dynamically.
(opt req param)
Check the request parameters for a keyword boolean option, with or without the ?
Returns false if either of the values are false, or the value of (or key1 key2) otherwise (truthy)
Check the request parameters for a keyword boolean option, with or without the ? Returns false if either of the values are false, or the value of (or key1 key2) otherwise (truthy)
(parse-content-type s)
Parse s
as an RFC 2616 media type.
Parse `s` as an RFC 2616 media type.
(parse-transit in type & [opts])
Resolve and apply Transit's JSON/MessagePack decoding.
Resolve and apply Transit's JSON/MessagePack decoding.
(parse-url url)
Parse a URL string into a map of interesting parts.
Parse a URL string into a map of interesting parts.
(transit-encode out type & [opts])
Resolve and apply Transit's JSON/MessagePack encoding.
Resolve and apply Transit's JSON/MessagePack encoding.
(url-encode-illegal-characters path-or-query)
Takes a raw url path or query and url-encodes any illegal characters. Minimizes ambiguity by encoding space to %20.
Takes a raw url path or query and url-encodes any illegal characters. Minimizes ambiguity by encoding space to %20.
(wrap-accept {:keys [accept] :as req})
Middleware converting the :accept key in a request to application/<type>
Middleware converting the :accept key in a request to application/<type>
(wrap-accept-encoding {:keys [accept-encoding] :as req})
Middleware converting the :accept-encoding option to an acceptable Accept-Encoding header in the request.
Middleware converting the :accept-encoding option to an acceptable Accept-Encoding header in the request.
(wrap-basic-auth req)
Middleware converting the :basic-auth option into an Authorization header.
Middleware converting the :basic-auth option into an Authorization header.
(wrap-content-type {:keys [content-type character-encoding] :as req})
Middleware converting a :content-type <keyword>
option to the formal
application/<name> format and adding it as a header.
Middleware converting a `:content-type <keyword>` option to the formal application/<name> format and adding it as a header.
(wrap-exceptions client)
Middleware that throws a slingshot exception if the response is not a regular response. If :throw-entire-message? is set to true, the entire response is used as the message, instead of just the status number.
Middleware that throws a slingshot exception if the response is not a regular response. If :throw-entire-message? is set to true, the entire response is used as the message, instead of just the status number.
(wrap-form-params {:keys [form-params content-type request-method]
:or {content-type :x-www-form-urlencoded}
:as req})
Middleware wrapping the submission or form parameters.
Middleware wrapping the submission or form parameters.
(wrap-method req)
Middleware converting the :method option into the :request-method option
Middleware converting the :method option into the :request-method option
(wrap-nested-params {:keys [content-type] :as req})
Middleware wrapping nested parameters for query strings.
Middleware wrapping nested parameters for query strings.
(wrap-oauth req)
Middleware converting the :oauth-token option into an Authorization header.
Middleware converting the :oauth-token option into an Authorization header.
(wrap-query-params {:keys [query-params content-type]
:or {content-type :x-www-form-urlencoded}
:as req})
Middleware converting the :query-params option to a querystring on the request.
Middleware converting the :query-params option to a querystring on the request.
(wrap-request client)
Returns a batteries-included HTTP request function corresponding to the given core client. See default-middleware for the middleware wrappers that are used by default
Returns a batteries-included HTTP request function corresponding to the given core client. See default-middleware for the middleware wrappers that are used by default
(wrap-request-timing client)
Middleware that times the request, putting the total time (in milliseconds) of the request into the :request-time key in the response.
Middleware that times the request, putting the total time (in milliseconds) of the request into the :request-time key in the response.
(wrap-url req)
Middleware wrapping request URL parsing.
Middleware wrapping request URL parsing.
(wrap-user-info req)
Middleware converting the :user-info option into a :basic-auth option
Middleware converting the :user-info option into a :basic-auth option
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close