urldata: let the HTTP method be in the set.* struct

When the method is updated inside libcurl we must still not change the
method as set by the user as then repeated transfers with that same
handle might not execute the same operation anymore!

This fixes the libcurl part of #5462

Test 1633 added to verify.

Closes #5499
This commit is contained in:
Daniel Stenberg 2020-06-01 22:58:46 +02:00
parent cba70628ae
commit 9c845be279
No known key found for this signature in database
GPG key ID: 5CC908FDB71E12C2
12 changed files with 154 additions and 60 deletions

View file

@ -196,7 +196,7 @@ test1608 test1609 test1610 test1611 test1612 \
\
test1620 test1621 \
\
test1630 test1631 test1632 \
test1630 test1631 test1632 test1633 \
\
test1650 test1651 test1652 test1653 test1654 test1655 \
\

97
tests/data/test1633 Normal file
View file

@ -0,0 +1,97 @@
<testcase>
<info>
<keywords>
HTTP
HTTP GET
</keywords>
</info>
#
# Server-side
<reply>
<data>
HTTP/1.1 301 OK
Accept-Ranges: bytes
Content-Length: 0
Connection: close
Location: /16330002
</data>
<data2>
HTTP/1.1 429 too many requests
Retry-After: 1
Content-Length: 0
Connection: close
</data2>
<datacheck>
HTTP/1.1 301 OK
Accept-Ranges: bytes
Content-Length: 0
Connection: close
Location: /16330002
HTTP/1.1 429 too many requests
Retry-After: 1
Content-Length: 0
Connection: close
HTTP/1.1 301 OK
Accept-Ranges: bytes
Content-Length: 0
Connection: close
Location: /16330002
HTTP/1.1 429 too many requests
Retry-After: 1
Content-Length: 0
Connection: close
</datacheck>
</reply>
#
# Client-side
<client>
<server>
http
</server>
<name>
HTTP GET
</name>
<command>
http://%HOSTIP:%HTTPPORT/1633 -d moo --retry 1 -L
</command>
</client>
#
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
POST /1633 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
Content-Length: 3
Content-Type: application/x-www-form-urlencoded
mooGET /16330002 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
POST /1633 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
Content-Length: 3
Content-Type: application/x-www-form-urlencoded
mooGET /16330002 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
</protocol>
</verify>
</testcase>