# Server-side
<reply>
<data>
-HTTP/1.1 200 OK\r
-Date: Thu, 09 Nov 2010 14:49:00 GMT\r
-Server: test-server/fake\r
-Content-Length: 10\r
-\r
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 10
+
blablabla
</data>
</reply>
http
</server>
<name>
-HTTP RFC1867-type formposting with filename contains ',', ';', '"'
+HTTP RFC1867-type formposting with filename/data contains ',', ';', '"'
</name>
<command>
-http://%HOSTIP:%HTTPPORT/we/want/1133 -F "file=@\"log/test1133,a\\\"nd;.txt\";type=mo/foo;filename=\"faker,and;.txt\"" -F 'file2=@"log/test1133,a\"nd;.txt"' -F 'file3=@"log/test1133,a\"nd;.txt";type=m/f,"log/test1133,a\"nd;.txt"'
+http://%HOSTIP:%HTTPPORT/we/want/1133 -F "file=@\"log/test1133,a\\\"nd;.txt\";type=mo/foo;filename=\"faker,and;.txt\"" -F 'file2=@"log/test1133,a\"nd;.txt"' -F 'file3=@"log/test1133,a\"nd;.txt";type=m/f,"log/test1133,a\"nd;.txt"' -F a="{\"field1\":\"value1\",\"field2\":\"value2\"}" -F 'b=" \\value1;type=\"whatever\" "; type=text/foo; charset=utf-8 ; filename=param_b'
</command>
# We create this file before the command is invoked!
<file name=log/test1133,a"nd;.txt>
^(User-Agent:|Content-Type: multipart/form-data;|Content-Type: multipart/mixed; boundary=|-------).*
</strip>
<protocol>
-POST /we/want/1133 HTTP/1.1\r
-User-Agent: curl/7.10.4 (i686-pc-linux-gnu) libcurl/7.10.4 OpenSSL/0.9.7a ipv6 zlib/1.1.3\r
-Host: %HOSTIP:%HTTPPORT\r
-Accept: */*\r
-Content-Length: 967\r
-Expect: 100-continue\r
-Content-Type: multipart/form-data; boundary=----------------------------24e78000bd32\r
-\r
-------------------------------24e78000bd32\r
-Content-Disposition: form-data; name="file"; filename="faker,and;.txt"\r
-Content-Type: mo/foo\r
-\r
+POST /we/want/1133 HTTP/1.1
+User-Agent: curl/7.10.4 (i686-pc-linux-gnu) libcurl/7.10.4 OpenSSL/0.9.7a ipv6 zlib/1.1.3
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 1270
+Expect: 100-continue
+Content-Type: multipart/form-data; boundary=----------------------------24e78000bd32
+
+------------------------------24e78000bd32
+Content-Disposition: form-data; name="file"; filename="faker,and;.txt"
+Content-Type: mo/foo
+
foo bar
This is a bar foo
bar
foo
-\r
-------------------------------24e78000bd32\r
-Content-Disposition: form-data; name="file2"; filename="test1133,a\"nd;.txt"\r
-Content-Type: text/plain\r
-\r
+
+------------------------------24e78000bd32
+Content-Disposition: form-data; name="file2"; filename="test1133,a\"nd;.txt"
+Content-Type: text/plain
+
foo bar
This is a bar foo
bar
foo
-\r
-------------------------------24e78000bd32\r
-Content-Disposition: form-data; name="file3"\r
-Content-Type: multipart/mixed; boundary=----------------------------7f0e85a48b0b\r
-\r
-Content-Disposition: attachment; filename="test1133,a\"nd;.txt"\r
-Content-Type: m/f\r
-\r
+
+------------------------------24e78000bd32
+Content-Disposition: form-data; name="file3"
+Content-Type: multipart/mixed; boundary=----------------------------7f0e85a48b0b
+
+Content-Disposition: attachment; filename="test1133,a\"nd;.txt"
+Content-Type: m/f
+
foo bar
This is a bar foo
bar
foo
-\r
-Content-Disposition: attachment; filename="test1133,a\"nd;.txt"\r
-Content-Type: text/plain\r
-\r
+
+Content-Disposition: attachment; filename="test1133,a\"nd;.txt"
+Content-Type: text/plain
+
foo bar
This is a bar foo
bar
foo
-\r
-------------------------------24e78000bd32--\r
+
+
+Content-Disposition: form-data; name="a"
+
+{"field1":"value1","field2":"value2"}
+Content-Disposition: form-data; name="b"; filename="param_b"
+Content-Type: text/foo; charset=utf-8
+
+ \value1;type="whatever"
+------------------------------24e78000bd32--
</protocol>
</verify>
</testcase>