<testcase>
<info>
<keywords>
HTTP
HTTP FORMPOST
HTTP replaced headers
HTTP proxy
HTTP proxy Digest auth
--proxy-anyauth
</keywords>

</info>
# Server-side
<reply>
# The stupid test server doesn't response anything at all until the full
# request has been sent, and then of course the full POST has already been
# sent!
<data>
HTTP/1.1 407 no, tell me who you are first swsclose
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
Proxy-Authenticate: Digest realm="many secrets", nonce="911"
Proxy-Connection: close
Content-Length: 0

</data>
<data1000>
HTTP/1.1 200 A OK
Server: Microsoft-IIS/6.0
Content-Type: text/html; charset=iso-8859-1
Content-Length: 3

ok
</data1000>
<datacheck>
HTTP/1.1 407 no, tell me who you are first swsclose
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
Proxy-Authenticate: Digest realm="many secrets", nonce="911"
Proxy-Connection: close
Content-Length: 0

HTTP/1.1 200 A OK
Server: Microsoft-IIS/6.0
Content-Type: text/html; charset=iso-8859-1
Content-Length: 3

ok
</datacheck>

</reply>

# Client-side
<client>
<server>
http
</server>
<features>
!SSPI
crypto
proxy
</features>
 <name>
HTTP POST multipart without Expect: header using proxy anyauth (Digest)
 </name>
 <command>
-x http://%HOSTIP:%HTTPPORT http://remotehost:54321/we/want/258 -F name=daniel -F tool=curl -F file=@log/test258.txt -H "Expect:" -U uuuser:pppassword --proxy-anyauth
</command>
# We create this file before the command is invoked!
<file name="log/test258.txt">
foo-
This is a moo-
bar
</file>
</client>

# Verify data after the test has been "shot"
<verify>
<strip>
^(Content-Type: multipart/form-data;|------).*
</strip>
<protocol>
POST http://remotehost:54321/we/want/258 HTTP/1.1
Host: remotehost:54321
User-Agent: curl/%VERSION
Accept: */*
Proxy-Connection: Keep-Alive
Content-Length: 409
Content-Type: multipart/form-data; boundary=----------------------------7c633d5c27ce

------------------------------7c633d5c27ce
Content-Disposition: form-data; name="name"

daniel
------------------------------7c633d5c27ce
Content-Disposition: form-data; name="tool"

curl
------------------------------7c633d5c27ce
Content-Disposition: form-data; name="file"; filename="test258.txt"
Content-Type: text/plain

foo-
This is a moo-
bar

------------------------------7c633d5c27ce--
POST http://remotehost:54321/we/want/258 HTTP/1.1
Host: remotehost:54321
Proxy-Authorization: Digest username="uuuser", realm="many secrets", nonce="911", uri="/we/want/258", response="2501654ca391f0b5c8c12a1da77e34cd"
User-Agent: curl/%VERSION
Accept: */*
Proxy-Connection: Keep-Alive
Content-Length: 409
Content-Type: multipart/form-data; boundary=----------------------------7c633d5c27ce

------------------------------7c633d5c27ce
Content-Disposition: form-data; name="name"

daniel
------------------------------7c633d5c27ce
Content-Disposition: form-data; name="tool"

curl
------------------------------7c633d5c27ce
Content-Disposition: form-data; name="file"; filename="test258.txt"
Content-Type: text/plain

foo-
This is a moo-
bar

------------------------------7c633d5c27ce--
</protocol>
</verify>
</testcase>
