# Authorization 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. HTTP HTTP PUT HTTP Digest auth --anyauth HTTP/1.0 chunked Transfer-Encoding # Server-side HTTP/1.0 401 Authorization Required swsclose Server: testcurl WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts" WWW-Authenticate: Basic realm="gimme all yer s3cr3ts" WWW-Authenticate: Digest realm="gimme all yer s3cr3ts", nonce="11223344" Content-Type: text/plain Content-Length: 0 Connection: close # Client-side http crypto HTTP chunked PUT to HTTP 1.0 server with authorization http://%HOSTIP:%HTTPPORT/1072 -T - -u testuser:testpass --anyauth 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 # Verify data after the test has been "shot" 25 ^User-Agent:.* PUT /1072 HTTP/1.1 Host: %HOSTIP:%HTTPPORT Accept: */* Transfer-Encoding: chunked Expect: 100-continue 7a 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