Return to test1402 CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / curl / tests / data |
1.1 ! misho 1: <testcase> ! 2: <info> ! 3: <keywords> ! 4: HTTP ! 5: HTTP POST ! 6: --libcurl ! 7: </keywords> ! 8: </info> ! 9: ! 10: # Server-side ! 11: <reply> ! 12: <data> ! 13: HTTP/1.1 200 OK ! 14: Date: Thu, 29 Jul 2008 14:49:00 GMT ! 15: Server: test-server/fake ! 16: Content-Length: 0 ! 17: Content-Type: text/plain ! 18: Connection: close ! 19: ! 20: </data> ! 21: </reply> ! 22: ! 23: # Client-side ! 24: <client> ! 25: <server> ! 26: http ! 27: </server> ! 28: <name> ! 29: --libcurl for simple POST ! 30: </name> ! 31: <setenv> ! 32: SSL_CERT_FILE= ! 33: </setenv> ! 34: <command> ! 35: http://%HOSTIP:%HTTPPORT/we/want/1402 --libcurl log/test1402.c -d "foo=bar" -d "baz=quux" ! 36: </command> ! 37: </client> ! 38: ! 39: # Verify data after the test has been "shot" ! 40: <verify> ! 41: <strip> ! 42: ^User-Agent:.* ! 43: </strip> ! 44: <protocol nonewline="yes"> ! 45: POST /we/want/1402 HTTP/1.1 ! 46: User-Agent: curl/7.18.2 (i686-pc-linux-gnu) libcurl/7.18.2 OpenSSL/0.9.7a ipv6 zlib/1.1.4 ! 47: Host: %HOSTIP:%HTTPPORT ! 48: Accept: */* ! 49: Content-Length: 16 ! 50: Content-Type: application/x-www-form-urlencoded ! 51: ! 52: foo=bar&baz=quux ! 53: </protocol> ! 54: <stripfile> ! 55: # curl's default user-agent varies with version, libraries etc. ! 56: s/(USERAGENT, \")[^\"]+/${1}stripped/ ! 57: # CURLOPT_SSL_VERIFYPEER, SSH_KNOWNHOSTS and HTTP_VERSION vary with ! 58: # configurations - just ignore them ! 59: $_ = '' if /CURLOPT_SSL_VERIFYPEER/ ! 60: $_ = '' if /CURLOPT_SSH_KNOWNHOSTS/ ! 61: $_ = '' if /CURLOPT_HTTP_VERSION/ ! 62: $_ = '' if /CURLOPT_INTERLEAVEDATA/ ! 63: </stripfile> ! 64: <file name="log/test1402.c" mode="text"> ! 65: /********* Sample code generated by the curl command line tool ********** ! 66: * All curl_easy_setopt() options are documented at: ! 67: * https://curl.haxx.se/libcurl/c/curl_easy_setopt.html ! 68: ************************************************************************/ ! 69: #include <curl/curl.h> ! 70: ! 71: int main(int argc, char *argv[]) ! 72: { ! 73: CURLcode ret; ! 74: CURL *hnd; ! 75: ! 76: hnd = curl_easy_init(); ! 77: curl_easy_setopt(hnd, CURLOPT_BUFFERSIZE, 102400L); ! 78: curl_easy_setopt(hnd, CURLOPT_URL, "http://%HOSTIP:%HTTPPORT/we/want/1402"); ! 79: curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "foo=bar&baz=quux"); ! 80: curl_easy_setopt(hnd, CURLOPT_POSTFIELDSIZE_LARGE, (curl_off_t)16); ! 81: curl_easy_setopt(hnd, CURLOPT_USERAGENT, "stripped"); ! 82: curl_easy_setopt(hnd, CURLOPT_MAXREDIRS, 50L); ! 83: curl_easy_setopt(hnd, CURLOPT_VERBOSE, 1L); ! 84: curl_easy_setopt(hnd, CURLOPT_TCP_KEEPALIVE, 1L); ! 85: ! 86: /* Here is a list of options the curl code used that cannot get generated ! 87: as source easily. You may select to either not use them or implement ! 88: them yourself. ! 89: ! 90: CURLOPT_WRITEDATA set to a objectpointer ! 91: CURLOPT_WRITEFUNCTION set to a functionpointer ! 92: CURLOPT_READDATA set to a objectpointer ! 93: CURLOPT_READFUNCTION set to a functionpointer ! 94: CURLOPT_SEEKDATA set to a objectpointer ! 95: CURLOPT_SEEKFUNCTION set to a functionpointer ! 96: CURLOPT_ERRORBUFFER set to a objectpointer ! 97: CURLOPT_STDERR set to a objectpointer ! 98: CURLOPT_DEBUGFUNCTION set to a functionpointer ! 99: CURLOPT_DEBUGDATA set to a objectpointer ! 100: CURLOPT_HEADERFUNCTION set to a functionpointer ! 101: CURLOPT_HEADERDATA set to a objectpointer ! 102: ! 103: */ ! 104: ! 105: ret = curl_easy_perform(hnd); ! 106: ! 107: curl_easy_cleanup(hnd); ! 108: hnd = NULL; ! 109: ! 110: return (int)ret; ! 111: } ! 112: /**** End of sample code ****/ ! 113: </file> ! 114: </verify> ! 115: </testcase>