File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / curl / tests / data / test1402
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Wed Jun 3 10:01:16 2020 UTC (5 years ago) by misho
Branches: curl, MAIN
CVS tags: v7_70_0p4, HEAD
curl

    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>

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>