org.dthume.ring.middleware.prefer
Ring middleware providing RFC7240 (Prefer Header for HTTP) support.
Most users will only need to add wrap-prefer to their middleware stack, although prefer-request and prefer-response may be useful for Pedestal interceptors.
parse-prefer-header
(parse-prefer-header v)Parse one or more Prefer headers into a map of preference names to Preference instances.
prefer-request
(prefer-request request)Apply RFC 7240 handling to request map.
Prefer request headers will be parsed into Preference record instances and added to the request map under the key :prefer as a map of preference name -> Preference.
prefer-response
(prefer-response response)Apply RFC 7240 handling to response map.
The response map may contain a :prefer key, whose value may be a single Preference instance, a map with Preference values, or collection of Preference instances. These preferences will be used to add Preference-Applied headers to the response map.
preference
(preference name)(preference name stringValueOrParamMap)(preference name value params)Construct a Preference, with mandatory name and an optional value and / or paramMap. Preference records have three keys:
- name
- The name of the preference.
- value
- The primary value of the preference, or nilif there is none.
- params
- A map of any secondary parameters specified by the preference.
preference?
(preference? p)Return true iff p is a Preference record instance.
wrap-prefer
(wrap-prefer handler)Wrap handler with middleware for dealing with RFC 7240 preference headers in both request and response maps. See prefer-request and prefer-response for more details on request / response handling.