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