Back
wrap-multipart-params (clj)
(source)function
(wrap-multipart-params handler)
(wrap-multipart-params handler options)
Middleware to parse multipart parameters from a request. Adds the
following keys to the request map:
:multipart-params - a map of multipart parameters
:params - a merged map of all types of parameter
The following options are accepted
:encoding - character encoding to use for multipart parsing.
Overrides the encoding specified in the request. If not
specified, uses the encoding specified in a part named
"_charset_", or the content type for each part, or
request character encoding if the part has no encoding,
or "UTF-8" if no request character encoding is set.
:fallback-encoding - specifies the character encoding used in parsing if a
part of the request does not specify encoding in its
content type or no part named "_charset_" is present.
Has no effect if :encoding is also set.
:store - a function that stores a file upload. The function
should expect a map with :filename, :content-type and
:stream keys, and its return value will be used as the
value for the parameter in the multipart parameter map.
The default storage function is the temp-file-store.
:progress-fn - a function that gets called during uploads. The
function should expect four parameters: request,
bytes-read, content-length, and item-count.
:max-file-size - the maximum size allowed size of a file in bytes. If
nil or omitted, there is no limit.
:max-file-count - the maximum number of files allowed in a single request.
If nil or omitted, there is no limit.
:error-handler - a handler that is invoked when the :max-file-size or
:max-file-count limits are exceeded. Defaults to
using the content-too-large-handler function.