<testcase>
<info>
<keywords>
HTTP
HTTP GET
HTTP proxy
Resume
FAILURE
</keywords>
</info>
# Server-side
<reply>
<data nocheck="yes">
HTTP/1.0 200 Mooo
Date: Mon, 13 Nov 2000 13:41:09 GMT
Server: myown/1.0
Connection: close

todelooooo lalalala yada yada, we know nothing about ranges ;-)
</data>
</reply>

# Client-side
<client>
<server>
http
</server>
<name>
HTTP resume request over proxy with auth without server supporting it
</name>
 <command option="no-output">
-x http://%HOSTIP:%HTTPPORT http://%HOSTIP:%HTTPPORT/want/%TESTNUMBER -C - --no-include -o %LOGDIR/fewl%TESTNUMBER.txt -U daniel:stenberg
</command>
<file name="%LOGDIR/fewl%TESTNUMBER.txt">
This text is here to simulate a partly downloaded file to resume
download on.
</file>
<features>
proxy
</features>
</client>

# Verify data after the test has been "shot"
<verify>
<errorcode>
33
</errorcode>
<protocol>
GET http://%HOSTIP:%HTTPPORT/want/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Proxy-Authorization: Basic ZGFuaWVsOnN0ZW5iZXJn
Range: bytes=78-
User-Agent: curl/%VERSION
Accept: */*
Proxy-Connection: Keep-Alive

</protocol>

# the download target file must remain untouched
<file name="%LOGDIR/fewl%TESTNUMBER.txt">
This text is here to simulate a partly downloaded file to resume
download on.
</file>
</verify>
</testcase>
