[wsgi] avoid reading the entire request body in memory
Import POST form handling code from
https://raw.github.com/defnull/multipart/master/multipart.py to avoid
reading arbitrary amounts of data from the network in memory.
NOTES:
- In the twisted case we limit the max request content-length to 100MB (by
default), which seems kind of arbitrary, but avoids this issue
- werkzeug.formparser has suitable code as well, but I don't know if we want to
add it as a dependency
from cubicweb.devtools.qunit import QUnitTestCase, unittest_main
from os import path as osp
class JScript(QUnitTestCase):
all_js_tests = (
("jstests/test_utils.js", (
"../../web/data/cubicweb.js",
"../../web/data/cubicweb.compat.js",
"../../web/data/cubicweb.python.js",
"jstests/utils.js",
),
),
("jstests/test_htmlhelpers.js", (
"../../web/data/cubicweb.js",
"../../web/data/cubicweb.compat.js",
"../../web/data/cubicweb.python.js",
"../../web/data/cubicweb.htmlhelpers.js",
),
),
("jstests/test_ajax.js", (
"../../web/data/cubicweb.python.js",
"../../web/data/cubicweb.js",
"../../web/data/cubicweb.compat.js",
"../../web/data/cubicweb.htmlhelpers.js",
"../../web/data/cubicweb.ajax.js",
), (
"jstests/ajax_url0.html",
"jstests/ajax_url1.html",
"jstests/ajax_url2.html",
"jstests/ajaxresult.json",
),
),
)
if __name__ == '__main__':
unittest_main()