Skip to content

Fix max_file_size parsing, fixing the 400 upload errors

Antonis Kalou requested to merge kalouantonis/federated:fix/uploads-400 into develop

Parsing length as a string was giving 400: Bad request errors (see below) and weird arithmetic issues when parsing a multipart request.

[info] POST /api/graphql
[debug] ** (Plug.Parsers.ParseError) malformed request, a ArithmeticError exception was raised with message "bad argument in arithmetic expression"
    :erlang.-("20000000", 13)
    (plug 1.10.0) lib/plug/parsers/multipart.ex:150: Plug.Parsers.MULTIPART.parse_multipart_body/4
    (plug 1.10.0) lib/plug/parsers/multipart.ex:110: Plug.Parsers.MULTIPART.parse_multipart_headers/5
    (plug 1.10.0) lib/plug/parsers/multipart.ex:93: Plug.Parsers.MULTIPART.parse_multipart/5
    (plug 1.10.0) lib/plug/parsers/multipart.ex:83: Plug.Parsers.MULTIPART.parse_multipart/2
    (plug 1.10.0) lib/plug/parsers/multipart.ex:58: Plug.Parsers.MULTIPART.parse/5
    (plug 1.10.0) lib/plug/parsers.ex:285: Plug.Parsers.reduce/7
    (moodle_net 0.9.6-dev) lib/moodle_net_web/endpoint.ex:6: MoodleNetWeb.Endpoint.plug_builder_call/2
    (moodle_net 0.9.6-dev) lib/plug/debugger.ex:132: MoodleNetWeb.Endpoint."call (overridable 3)"/2
    (moodle_net 0.9.6-dev) lib/moodle_net_web/endpoint.ex:6: MoodleNetWeb.Endpoint.call/2
    (phoenix 1.4.17) lib/phoenix/endpoint/cowboy2_handler.ex:42: Phoenix.Endpoint.Cowboy2Handler.init/4
    (cowboy 2.7.0) /home/slacker/Programming/eummena/moodlenet/backend/deps/cowboy/src/cowboy_handler.erl:41: :cowboy_handler.execute/2
    (cowboy 2.7.0) /home/slacker/Programming/eummena/moodlenet/backend/deps/cowboy/src/cowboy_stream_h.erl:320: :cowboy_stream_h.execute/3
    (cowboy 2.7.0) /home/slacker/Programming/eummena/moodlenet/backend/deps/cowboy/src/cowboy_stream_h.erl:302: :cowboy_stream_h.request_process/3
    (stdlib 3.11.2) proc_lib.erl:249: :proc_lib.init_p_do_apply/3

Merge request reports