mirror of
https://github.com/curl/curl.git
synced 2024-12-15 06:40:09 +08:00
70cf50fb4a
When hyper is used, it emits uppercase hexadecimal numbers for chunked encoding lengths. Without hyper, lowercase hexadecimal numbers are used. This change adds preprocessor statements to tests where this is an issue, and adapts the fixtures to match. Closes #6987
75 lines
1.3 KiB
Plaintext
75 lines
1.3 KiB
Plaintext
<testcase>
|
|
# Redirection is used to force curl to realize that the server is
|
|
# speaking HTTP 1.0. The request is impossible to satisfy with HTTP 1.0
|
|
# because chunked encoding is unavailable, so the request must fail.
|
|
<info>
|
|
<keywords>
|
|
HTTP
|
|
HTTP PUT
|
|
HTTP/1.0
|
|
followlocation
|
|
chunked Transfer-Encoding
|
|
</keywords>
|
|
</info>
|
|
|
|
# Server-side
|
|
<reply>
|
|
<data>
|
|
HTTP/1.0 301 Redirect swsclose
|
|
Server: testcurl
|
|
Content-Type: text/plain
|
|
Location: /newlocation/%TESTNUMBER0002
|
|
Content-Length: 0
|
|
Connection: close
|
|
|
|
</data>
|
|
</reply>
|
|
|
|
# Client-side
|
|
<client>
|
|
<server>
|
|
http
|
|
</server>
|
|
<name>
|
|
HTTP chunked PUT to HTTP 1.0 server with redirect
|
|
</name>
|
|
<command>
|
|
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -T - -L
|
|
</command>
|
|
<stdin>
|
|
This is data we upload with PUT
|
|
it comes from stdin so MUST be sent
|
|
with chunked encoding
|
|
which is impossible in HTTP/1.0
|
|
</stdin>
|
|
</client>
|
|
|
|
# Verify data after the test has been "shot"
|
|
<verify>
|
|
<errorcode>
|
|
25
|
|
</errorcode>
|
|
<protocol>
|
|
PUT /%TESTNUMBER HTTP/1.1
|
|
Host: %HOSTIP:%HTTPPORT
|
|
User-Agent: curl/%VERSION
|
|
Accept: */*
|
|
Transfer-Encoding: chunked
|
|
Expect: 100-continue
|
|
|
|
%if hyper
|
|
7A
|
|
%else
|
|
7a
|
|
%endif
|
|
This is data we upload with PUT
|
|
it comes from stdin so MUST be sent
|
|
with chunked encoding
|
|
which is impossible in HTTP/1.0
|
|
|
|
0
|
|
|
|
</protocol>
|
|
</verify>
|
|
</testcase>
|