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.

Examples