Introduce DefaultMultipartMessageReader

This commit introduces the DefaultMultipartMessageReader, a fully
reactive multipart parser that does have any third party dependencies.

Closes gh-21659
This commit is contained in:
Arjen Poutsma
2019-05-07 12:14:09 +02:00
parent f747ba282a
commit fb642ce723
8 changed files with 637 additions and 0 deletions

View File

@@ -0,0 +1 @@
*.multipart -text

View File

@@ -0,0 +1,27 @@
------WebKitFormBoundaryEveBLvRT65n21fwU
Content-Disposition: form-data; name="text1"
a
------WebKitFormBoundaryEveBLvRT65n21fwU
Content-Disposition: form-data; name="text2"
b
------WebKitFormBoundaryEveBLvRT65n21fwU
Content-Disposition: form-data; name="file1"; filename="a.txt"
Content-Type: text/plain
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer iaculis metus id vestibulum nullam.
------WebKitFormBoundaryEveBLvRT65n21fwU
Content-Disposition: form-data; name="file2"; filename="a.txt"
Content-Type: text/plain
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer iaculis metus id vestibulum nullam.
------WebKitFormBoundaryEveBLvRT65n21fwU
Content-Disposition: form-data; name="file2"; filename="b.txt"
Content-Type: text/plain
.mallun mulubitsev di sutem silucai regetnI .tile gnicsipida rutetcesnoc ,tema tis rolod muspi meroL
------WebKitFormBoundaryEveBLvRT65n21fwU--

View File

@@ -0,0 +1,27 @@
-----------------------------18399284482060392383840973206
Content-Disposition: form-data; name="text1"
a
-----------------------------18399284482060392383840973206
Content-Disposition: form-data; name="text2"
b
-----------------------------18399284482060392383840973206
Content-Disposition: form-data; name="file1"; filename="a.txt"
Content-Type: text/plain
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer iaculis metus id vestibulum nullam.
-----------------------------18399284482060392383840973206
Content-Disposition: form-data; name="file2"; filename="a.txt"
Content-Type: text/plain
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer iaculis metus id vestibulum nullam.
-----------------------------18399284482060392383840973206
Content-Disposition: form-data; name="file2"; filename="b.txt"
Content-Type: text/plain
.mallun mulubitsev di sutem silucai regetnI .tile gnicsipida rutetcesnoc ,tema tis rolod muspi meroL
-----------------------------18399284482060392383840973206--

View File

@@ -0,0 +1,5 @@
--boundary
Header: Value
a
--boundary

View File

@@ -0,0 +1,4 @@
--boundary
a
--boundary--

View File

@@ -0,0 +1,27 @@
------WebKitFormBoundaryG8fJ50opQOML0oGD
Content-Disposition: form-data; name="text1"
a
------WebKitFormBoundaryG8fJ50opQOML0oGD
Content-Disposition: form-data; name="text2"
b
------WebKitFormBoundaryG8fJ50opQOML0oGD
Content-Disposition: form-data; name="file1"; filename="a.txt"
Content-Type: text/plain
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer iaculis metus id vestibulum nullam.
------WebKitFormBoundaryG8fJ50opQOML0oGD
Content-Disposition: form-data; name="file2"; filename="a.txt"
Content-Type: text/plain
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer iaculis metus id vestibulum nullam.
------WebKitFormBoundaryG8fJ50opQOML0oGD
Content-Disposition: form-data; name="file2"; filename="b.txt"
Content-Type: text/plain
.mallun mulubitsev di sutem silucai regetnI .tile gnicsipida rutetcesnoc ,tema tis rolod muspi meroL
------WebKitFormBoundaryG8fJ50opQOML0oGD--