Plug v1.4.4 Plug.Parsers.MULTIPART View Source
Parses multipart request body.
Options
All options supported by Plug.Conn.read_body/2 are also supported here.
They are repeated here for convenience:
- :length- sets the maximum number of bytes to read from the request, defaults to 8_000_000 bytes
- :read_length- sets the amount of bytes to read at one time from the underlying socket to fill the chunk, defaults to 1_000_000 bytes
- :read_timeout- sets the timeout for each socket read, defaults to 15_000ms
So by default, Plug.Parsers will read 1_000_000 bytes at a time from the
socket with an overall limit of 8_000_000 bytes.
Besides the options supported by Plug.Conn.read_body/2, the multipart parser
also checks for :headers option that contains the same :length, :read_length
and :read_timeout options which are used explicitly for parsing multipart
headers.
Link to this section Summary
Functions
Callback implementation for Plug.Parsers.init/1
Attempts to parse the connection’s request body given the content-type type, subtype, and its parameters
Link to this section Functions
Callback implementation for Plug.Parsers.init/1.
Attempts to parse the connection’s request body given the content-type type, subtype, and its parameters.
The arguments are:
- the Plug.Connconnection
- type, the content-type type (e.g.,- "x-sample"for the- "x-sample/json"content-type)
- subtype, the content-type subtype (e.g.,- "json"for the- "x-sample/json"content-type)
- params, the content-type parameters (e.g.,- %{"foo" => "bar"}for the- "text/plain; foo=bar"content-type)
This function should return:
- {:ok, body_params, conn}if the parser is able to handle the given content-type;- body_paramsshould be a map
- {:next, conn}if the next parser should be invoked
- {:error, :too_large, conn}if the request goes over the given limit
Callback implementation for Plug.Parsers.parse/5.