113498266Sopenharmony_ci<testcase>
213498266Sopenharmony_ci# Redirection is used to force curl to realize that the server is
313498266Sopenharmony_ci# speaking HTTP 1.0. The request is impossible to satisfy with HTTP 1.0
413498266Sopenharmony_ci# because chunked encoding is unavailable, so the request must fail.
513498266Sopenharmony_ci<info>
613498266Sopenharmony_ci<keywords>
713498266Sopenharmony_ciHTTP
813498266Sopenharmony_ciHTTP PUT
913498266Sopenharmony_ciHTTP/1.0
1013498266Sopenharmony_cifollowlocation
1113498266Sopenharmony_cichunked Transfer-Encoding
1213498266Sopenharmony_ci</keywords>
1313498266Sopenharmony_ci</info>
1413498266Sopenharmony_ci
1513498266Sopenharmony_ci# Server-side
1613498266Sopenharmony_ci<reply>
1713498266Sopenharmony_ci<data>
1813498266Sopenharmony_ciHTTP/1.0 301 Redirect swsclose
1913498266Sopenharmony_ciServer: testcurl
2013498266Sopenharmony_ciContent-Type: text/plain
2113498266Sopenharmony_ciLocation: /newlocation/%TESTNUMBER0002
2213498266Sopenharmony_ciContent-Length: 0
2313498266Sopenharmony_ciConnection: close
2413498266Sopenharmony_ci
2513498266Sopenharmony_ci</data>
2613498266Sopenharmony_ci</reply>
2713498266Sopenharmony_ci
2813498266Sopenharmony_ci# Client-side
2913498266Sopenharmony_ci<client>
3013498266Sopenharmony_ci<server>
3113498266Sopenharmony_cihttp
3213498266Sopenharmony_ci</server>
3313498266Sopenharmony_ci<name>
3413498266Sopenharmony_ciHTTP chunked PUT to HTTP 1.0 server with redirect
3513498266Sopenharmony_ci</name>
3613498266Sopenharmony_ci<command>
3713498266Sopenharmony_cihttp://%HOSTIP:%HTTPPORT/%TESTNUMBER -T - -L
3813498266Sopenharmony_ci</command>
3913498266Sopenharmony_ci<stdin>
4013498266Sopenharmony_ciThis is data we upload with PUT
4113498266Sopenharmony_ciit comes from stdin so MUST be sent
4213498266Sopenharmony_ciwith chunked encoding
4313498266Sopenharmony_ciwhich is impossible in HTTP/1.0
4413498266Sopenharmony_ci</stdin>
4513498266Sopenharmony_ci</client>
4613498266Sopenharmony_ci
4713498266Sopenharmony_ci# Verify data after the test has been "shot"
4813498266Sopenharmony_ci<verify>
4913498266Sopenharmony_ci<errorcode>
5013498266Sopenharmony_ci25
5113498266Sopenharmony_ci</errorcode>
5213498266Sopenharmony_ci<protocol>
5313498266Sopenharmony_ciPUT /%TESTNUMBER HTTP/1.1
5413498266Sopenharmony_ciHost: %HOSTIP:%HTTPPORT
5513498266Sopenharmony_ciUser-Agent: curl/%VERSION
5613498266Sopenharmony_ciAccept: */*
5713498266Sopenharmony_ciTransfer-Encoding: chunked
5813498266Sopenharmony_ciExpect: 100-continue
5913498266Sopenharmony_ci
6013498266Sopenharmony_ci%if hyper
6113498266Sopenharmony_ci7A
6213498266Sopenharmony_ci%else
6313498266Sopenharmony_ci7a
6413498266Sopenharmony_ci%endif
6513498266Sopenharmony_ciThis is data we upload with PUT
6613498266Sopenharmony_ciit comes from stdin so MUST be sent
6713498266Sopenharmony_ciwith chunked encoding
6813498266Sopenharmony_ciwhich is impossible in HTTP/1.0
6913498266Sopenharmony_ci
7013498266Sopenharmony_ci0
7113498266Sopenharmony_ci
7213498266Sopenharmony_ci</protocol>
7313498266Sopenharmony_ci</verify>
7413498266Sopenharmony_ci</testcase>
75