<testcase> <info> <keywords> HTTP binary-stdout </keywords> </info> <reply> <real data> HTTP/1.1 200 OK Date: Thu, 09 Nov 2010 14:49:00 GMT Server: test-server/fake Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT ETag: 21025-dc7-39462498 Accept-Ranges: bytes Content-Length: 5 Connection: close Content-Type: text/html Funny-head: yesyes 1234 </real data> # Provided as base64 encoded to get the binary zero in the body treated # properly. Tricky to generate correctly. <data base64="yes" nocheck="yes"> SFRUUC8xLjEgMjAwIE9LCkRhdGU6IFRodSwgMDkgTm92IDIwMTAgMTQ6NDk6MDAgR01UClNlcnZl cjogdGVzdC1zZXJ2ZXIvZmFrZQpMYXN0LU1vZGlmaWVkOiBUdWUsIDEzIEp1biAyMDAwIDEyOjEw OjAwIEdNVApFVGFnOiAyMTAyNS1kYzctMzk0NjI0OTgKQWNjZXB0LVJhbmdlczogYnl0ZXMKQ29u dGVudC1MZW5ndGg6IDUKQ29ubmVjdGlvbjogY2xvc2UKQ29udGVudC1UeXBlOiB0ZXh0L2h0bWwK RnVubnktaGVhZDogeWVzeWVzCgoAMTIzNA== </data> </reply> # # Client-side <client> <server> http </server> # this test needs to be a debug build in order to fake it being a TTY output <features> debug </features> <setenv> CURL_ISATTY=yes </setenv> <name> Refuse binary output to terminal </name> <command> http://%HOSTIP:%HTTPPORT/1425 </command> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> <protocol> GET /1425 HTTP/1.1 Host: %HOSTIP:%HTTPPORT Accept: */* </protocol> <stdout> HTTP/1.1 200 OK Date: Thu, 09 Nov 2010 14:49:00 GMT Server: test-server/fake Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT ETag: 21025-dc7-39462498 Accept-Ranges: bytes Content-Length: 5 Connection: close Content-Type: text/html Funny-head: yesyes </stdout> # 23 == CURLE_WRITE_ERROR, curl wouldn't accept the binary output <errorcode> 23 </errorcode> </verify> </testcase>