1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137
|
<?xml version="1.0" encoding="US-ASCII"?>
<testcase>
<info>
<keywords>
HTTP
HTTP FORMPOST
HTTP proxy
HTTP proxy Digest auth
--proxy-anyauth
</keywords>
</info>
# Server-side
<reply>
# The stupid test server does not 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
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
Proxy-Authenticate: Digest realm="many secrets", nonce="911"
Content-Length: 0
</data>
<data1000 crlf="headers">
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
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
Proxy-Authenticate: Digest realm="many secrets", nonce="911"
Content-Length: 0
HTTP/1.1 200 A OK%CR
Server: Microsoft-IIS/6.0%CR
Content-Type: text/html; charset=iso-8859-1%CR
Content-Length: 3%CR
%CR
ok
</datacheck>
</reply>
# Client-side
<client>
<server>
http
</server>
<features>
Mime
!SSPI
crypto
proxy
digest
</features>
<name>
HTTP POST multipart with Expect: header using proxy anyauth (Digest)
</name>
<command>
-x http://%HOSTIP:%HTTPPORT http://remotehost:54321/we/want/%TESTNUMBER -F name=daniel -F tool=curl -F file=@%LOGDIR/test%TESTNUMBER.txt -U uuuser:pppassword --proxy-anyauth -H "Expect: 100-continue"
</command>
# We create this file before the command is invoked!
<file name="%LOGDIR/test%TESTNUMBER.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/%TESTNUMBER HTTP/1.1%CR
Host: remotehost:54321%CR
User-Agent: curl/%VERSION%CR
Accept: */*%CR
Proxy-Connection: Keep-Alive%CR
Expect: 100-continue%CR
Content-Length: 433%CR
Content-Type: multipart/form-data; boundary=----------------------------7c633d5c27ce%CR
%CR
------------------------------7c633d5c27ce%CR
Content-Disposition: form-data; name="name"%CR
%CR
daniel%CR
------------------------------7c633d5c27ce%CR
Content-Disposition: form-data; name="tool"%CR
%CR
curl%CR
------------------------------7c633d5c27ce%CR
Content-Disposition: form-data; name="file"; filename="test%TESTNUMBER.txt"%CR
Content-Type: text/plain%CR
%CR
foo-
This is a moo-
bar
%CR
------------------------------7c633d5c27ce--%CR
POST http://remotehost:54321/we/want/%TESTNUMBER HTTP/1.1%CR
Host: remotehost:54321%CR
Proxy-Authorization: Digest username="uuuser", realm="many secrets", nonce="911", uri="/we/want/%TESTNUMBER", response="b479994d13e60f3aa192a67c5892ddc5"%CR
User-Agent: curl/%VERSION%CR
Accept: */*%CR
Proxy-Connection: Keep-Alive%CR
Expect: 100-continue%CR
Content-Length: 433%CR
Content-Type: multipart/form-data; boundary=----------------------------7c633d5c27ce%CR
%CR
------------------------------7c633d5c27ce%CR
Content-Disposition: form-data; name="name"%CR
%CR
daniel%CR
------------------------------7c633d5c27ce%CR
Content-Disposition: form-data; name="tool"%CR
%CR
curl%CR
------------------------------7c633d5c27ce%CR
Content-Disposition: form-data; name="file"; filename="test%TESTNUMBER.txt"%CR
Content-Type: text/plain%CR
%CR
foo-
This is a moo-
bar
%CR
------------------------------7c633d5c27ce--%CR
</protocol>
</verify>
</testcase>
|