| <?xml version="1.0" encoding="US-ASCII"?> |
| <testcase> |
| <info> |
| <keywords> |
| HTTP |
| HTTP POST |
| --libcurl |
| </keywords> |
| </info> |
| |
| # Server-side |
| <reply> |
| <data> |
| HTTP/1.1 200 OK |
| Date: Thu, 29 Jul 2008 14:49:00 GMT |
| Server: test-server/fake |
| Content-Length: 0 |
| Content-Type: text/plain |
| Connection: close |
| |
| </data> |
| </reply> |
| |
| # Client-side |
| <client> |
| <server> |
| http |
| </server> |
| <name> |
| --libcurl for POST with binary content |
| </name> |
| <setenv> |
| SSL_CERT_FILE |
| </setenv> |
| <command> |
| http://%HOSTIP:%HTTPPORT/we/want/%TESTNUMBER --libcurl %LOGDIR/test%TESTNUMBER.c --data-binary @%LOGDIR/%TESTNUMBER-upload |
| </command> |
| # "ab\x81""cd\0e\\\"?\r\n\t\x01""fghi%x1Ajklm%xFD" |
| <file name="%LOGDIR/%TESTNUMBER-upload" nonewline="yes"> |
| %hex[ab%81cd%00e\"?%0D%0A%09%01fghi%1Ajklm%FD]hex% |
| </file> |
| <features> |
| --libcurl |
| </features> |
| </client> |
| |
| # Verify data after the test has been "shot" |
| <verify> |
| <protocol crlf="yes" nonewline="yes"> |
| POST /we/want/%TESTNUMBER HTTP/1.1 |
| Host: %HOSTIP:%HTTPPORT |
| User-Agent: curl/%VERSION |
| Accept: */* |
| Content-Length: 24 |
| Content-Type: application/x-www-form-urlencoded |
| |
| %hex[ab%81cd%00e\"?%0D%0A%09%01fghi%1Ajklm%FD]hex% |
| </protocol> |
| <stripfile> |
| # CURLOPT_SSL_VERIFYPEER, SSH_KNOWNHOSTS and HTTP_VERSION vary with |
| # configurations - ignore them |
| $_ = '' if /CURLOPT_SSL_VERIFYPEER/ |
| $_ = '' if /CURLOPT_SSH_KNOWNHOSTS/ |
| $_ = '' if /CURLOPT_HTTP_VERSION/ |
| $_ = '' if /CURLOPT_INTERLEAVEDATA/ |
| $_ = '' if /CURLOPT_SSLVERSION/ |
| $_ = '' if /CURLOPT_TIMEOUT_MS/ |
| </stripfile> |
| <file name="%LOGDIR/test%TESTNUMBER.c" mode="text"> |
| %includetext %SRCDIR/data/data%TESTNUMBER.c% |
| </file> |
| </verify> |
| </testcase> |