1<testcase> 2<info> 3<keywords> 4HTTP 5HTTP FORMPOST 6HTTP proxy 7HTTP proxy Digest auth 8--proxy-anyauth 9</keywords> 10</info> 11# Server-side 12<reply> 13# The stupid test server doesn't response anything at all until the full 14# request has been sent, and then of course the full POST has already been 15# sent! 16<data> 17HTTP/1.1 407 no, tell me who you are first 18Date: Thu, 09 Nov 2010 14:49:00 GMT 19Server: test-server/fake 20Proxy-Authenticate: Digest realm="many secrets", nonce="911" 21Content-Length: 0 22 23</data> 24<data1000> 25HTTP/1.1 200 A OK 26Server: Microsoft-IIS/6.0 27Content-Type: text/html; charset=iso-8859-1 28Content-Length: 3 29 30ok 31</data1000> 32<datacheck> 33HTTP/1.1 407 no, tell me who you are first 34Date: Thu, 09 Nov 2010 14:49:00 GMT 35Server: test-server/fake 36Proxy-Authenticate: Digest realm="many secrets", nonce="911" 37Content-Length: 0 38 39HTTP/1.1 200 A OK 40Server: Microsoft-IIS/6.0 41Content-Type: text/html; charset=iso-8859-1 42Content-Length: 3 43 44ok 45</datacheck> 46 47</reply> 48 49# Client-side 50<client> 51<server> 52http 53</server> 54<features> 55!SSPI 56crypto 57</features> 58 <name> 59HTTP POST multipart with Expect: header using proxy anyauth (Digest) 60 </name> 61 <command> 62-x http://%HOSTIP:%HTTPPORT http://remotehost:54321/we/want/259 -F name=daniel -F tool=curl -F file=@log/test259.txt -U uuuser:pppassword --proxy-anyauth 63</command> 64# We create this file before the command is invoked! 65<file name="log/test259.txt"> 66foo- 67This is a moo- 68bar 69</file> 70</client> 71 72# Verify data after the test has been "shot" 73<verify> 74<strip> 75^(User-Agent:|Content-Type: multipart/form-data;|------).* 76</strip> 77<protocol> 78POST http://remotehost:54321/we/want/259 HTTP/1.1 79Host: remotehost:54321 80User-Agent: curl/7.10.4 (i686-pc-linux-gnu) libcurl/7.10.4 OpenSSL/0.9.7a ipv6 zlib/1.1.3 81Accept: */* 82Proxy-Connection: Keep-Alive 83Content-Length: 409 84Expect: 100-continue 85Content-Type: multipart/form-data; boundary=----------------------------7c633d5c27ce 86 87------------------------------7c633d5c27ce 88Content-Disposition: form-data; name="name" 89 90daniel 91------------------------------7c633d5c27ce 92Content-Disposition: form-data; name="tool" 93 94curl 95------------------------------7c633d5c27ce 96Content-Disposition: form-data; name="file"; filename="test259.txt" 97Content-Type: text/plain 98 99foo- 100This is a moo- 101bar 102 103------------------------------7c633d5c27ce-- 104POST http://remotehost:54321/we/want/259 HTTP/1.1 105Host: remotehost:54321 106User-Agent: curl/7.10.4 (i686-pc-linux-gnu) libcurl/7.10.4 OpenSSL/0.9.7a ipv6 zlib/1.1.3 107Proxy-Authorization: Digest username="uuuser", realm="many secrets", nonce="911", uri="/we/want/259", response="b479994d13e60f3aa192a67c5892ddc5" 108Accept: */* 109Proxy-Connection: Keep-Alive 110Content-Length: 409 111Expect: 100-continue 112Content-Type: multipart/form-data; boundary=----------------------------7c633d5c27ce 113 114------------------------------7c633d5c27ce 115Content-Disposition: form-data; name="name" 116 117daniel 118------------------------------7c633d5c27ce 119Content-Disposition: form-data; name="tool" 120 121curl 122------------------------------7c633d5c27ce 123Content-Disposition: form-data; name="file"; filename="test259.txt" 124Content-Type: text/plain 125 126foo- 127This is a moo- 128bar 129 130------------------------------7c633d5c27ce-- 131</protocol> 132</verify> 133</testcase> 134