Annotation of embedaddon/curl/tests/data/test1404, revision 1.1

1.1     ! misho       1: <testcase>
        !             2: # Based on test 1315
        !             3: <info>
        !             4: <keywords>
        !             5: HTTP
        !             6: HTTP FORMPOST
        !             7: HTTP file upload
        !             8: --libcurl
        !             9: </keywords>
        !            10: </info>
        !            11: 
        !            12: # Server-side
        !            13: <reply>
        !            14: <data>
        !            15: HTTP/1.1 200 OK
        !            16: Date: Thu, 29 Jul 2008 14:49:00 GMT
        !            17: Server: test-server/fake
        !            18: Content-Length: 0
        !            19: Connection: close
        !            20: 
        !            21: </data>
        !            22: </reply>
        !            23: 
        !            24: # Client-side
        !            25: <client>
        !            26: <server>
        !            27: http
        !            28: </server>
        !            29:  <name>
        !            30: --libcurl for HTTP RFC1867-type formposting - -F with 3 files, one with explicit type & encoder
        !            31:  </name>
        !            32: <setenv>
        !            33: SSL_CERT_FILE=
        !            34: </setenv>
        !            35:  <command>
        !            36: http://%HOSTIP:%HTTPPORT/we/want/1404 -F name=value -F 'file=@log/test1404.txt,log/test1404.txt;type=magic/content;encoder=8bit,log/test1404.txt;headers=X-testheader-1: header 1;headers=X-testheader-2: header 2' --libcurl log/test1404.c
        !            37: </command>
        !            38: # We create this file before the command is invoked!
        !            39: <file name="log/test1404.txt">
        !            40: dummy data
        !            41: </file>
        !            42: </client>
        !            43: 
        !            44: # Verify data after the test has been "shot"
        !            45: <verify>
        !            46: <strip>
        !            47: (^User-Agent:.*|-----+\w+)
        !            48: </strip>
        !            49: <protocol>
        !            50: POST /we/want/1404 HTTP/1.1
        !            51: User-Agent: curl/7.18.2 (i686-pc-linux-gnu) libcurl/7.18.2 OpenSSL/0.9.7a ipv6 zlib/1.1.4
        !            52: Host: %HOSTIP:%HTTPPORT
        !            53: Accept: */*
        !            54: Content-Length: 882
        !            55: Content-Type: multipart/form-data; boundary=----------------------------9ef8d6205763
        !            56: 
        !            57: ------------------------------9ef8d6205763
        !            58: Content-Disposition: form-data; name="name"
        !            59: 
        !            60: value
        !            61: ------------------------------9ef8d6205763
        !            62: Content-Disposition: form-data; name="file"
        !            63: Content-Type: multipart/mixed; boundary=----------------------------aaaaaaaaaaaa
        !            64: 
        !            65: Content-Disposition: attachment; filename="test1404.txt"
        !            66: Content-Type: text/plain
        !            67: 
        !            68: dummy data
        !            69: 
        !            70: ------------------------------9ef8d6205763
        !            71: Content-Disposition: attachment; filename="test1404.txt"
        !            72: Content-Type: magic/content
        !            73: Content-Transfer-Encoding: 8bit
        !            74: 
        !            75: dummy data
        !            76: 
        !            77: ------------------------------9ef8d6205763
        !            78: Content-Disposition: attachment; filename="test1404.txt"
        !            79: Content-Type: text/plain
        !            80: X-testheader-1: header 1
        !            81: X-testheader-2: header 2
        !            82: 
        !            83: dummy data
        !            84: 
        !            85: ------------------------------aaaaaaaaaaaa--
        !            86: 
        !            87: ------------------------------9ef8d6205763--
        !            88: </protocol>
        !            89: <stripfile>
        !            90: # curl's default user-agent varies with version, libraries etc.
        !            91: s/(USERAGENT, \")[^\"]+/${1}stripped/
        !            92: # CURLOPT_SSL_VERIFYPEER, SSH_KNOWNHOSTS and HTTP_VERSION vary with
        !            93: # configurations - just ignore them
        !            94: $_ = '' if /CURLOPT_SSL_VERIFYPEER/
        !            95: $_ = '' if /CURLOPT_SSH_KNOWNHOSTS/
        !            96: $_ = '' if /CURLOPT_HTTP_VERSION/
        !            97: $_ = '' if /CURLOPT_INTERLEAVEDATA/
        !            98: # CURL_DOES_CONVERSION generates an extra comment.
        !            99: $_ = '' if /\/\* "value" \*\//
        !           100: </stripfile>
        !           101: <file name="log/test1404.c" mode="text">
        !           102: /********* Sample code generated by the curl command line tool **********
        !           103:  * All curl_easy_setopt() options are documented at:
        !           104:  * https://curl.haxx.se/libcurl/c/curl_easy_setopt.html
        !           105:  ************************************************************************/
        !           106: #include <curl/curl.h>
        !           107: 
        !           108: int main(int argc, char *argv[])
        !           109: {
        !           110:   CURLcode ret;
        !           111:   CURL *hnd;
        !           112:   curl_mime *mime1;
        !           113:   curl_mimepart *part1;
        !           114:   curl_mime *mime2;
        !           115:   curl_mimepart *part2;
        !           116:   struct curl_slist *slist1;
        !           117: 
        !           118:   mime1 = NULL;
        !           119:   mime2 = NULL;
        !           120:   slist1 = NULL;
        !           121:   slist1 = curl_slist_append(slist1, "X-testheader-1: header 1");
        !           122:   slist1 = curl_slist_append(slist1, "X-testheader-2: header 2");
        !           123: 
        !           124:   hnd = curl_easy_init();
        !           125:   curl_easy_setopt(hnd, CURLOPT_BUFFERSIZE, 102400L);
        !           126:   curl_easy_setopt(hnd, CURLOPT_URL, "http://%HOSTIP:%HTTPPORT/we/want/1404");
        !           127:   mime1 = curl_mime_init(hnd);
        !           128:   part1 = curl_mime_addpart(mime1);
        !           129:   curl_mime_data(part1, "value", CURL_ZERO_TERMINATED);
        !           130:   curl_mime_name(part1, "name");
        !           131:   part1 = curl_mime_addpart(mime1);
        !           132:   mime2 = curl_mime_init(hnd);
        !           133:   part2 = curl_mime_addpart(mime2);
        !           134:   curl_mime_filedata(part2, "log/test1404.txt");
        !           135:   part2 = curl_mime_addpart(mime2);
        !           136:   curl_mime_filedata(part2, "log/test1404.txt");
        !           137:   curl_mime_encoder(part2, "8bit");
        !           138:   curl_mime_type(part2, "magic/content");
        !           139:   part2 = curl_mime_addpart(mime2);
        !           140:   curl_mime_filedata(part2, "log/test1404.txt");
        !           141:   curl_mime_headers(part2, slist1, 1);
        !           142:   slist1 = NULL;
        !           143:   curl_mime_subparts(part1, mime2);
        !           144:   mime2 = NULL;
        !           145:   curl_mime_name(part1, "file");
        !           146:   curl_easy_setopt(hnd, CURLOPT_MIMEPOST, mime1);
        !           147:   curl_easy_setopt(hnd, CURLOPT_USERAGENT, "stripped");
        !           148:   curl_easy_setopt(hnd, CURLOPT_MAXREDIRS, 50L);
        !           149:   curl_easy_setopt(hnd, CURLOPT_VERBOSE, 1L);
        !           150:   curl_easy_setopt(hnd, CURLOPT_TCP_KEEPALIVE, 1L);
        !           151: 
        !           152:   /* Here is a list of options the curl code used that cannot get generated
        !           153:      as source easily. You may select to either not use them or implement
        !           154:      them yourself.
        !           155: 
        !           156:   CURLOPT_WRITEDATA set to a objectpointer
        !           157:   CURLOPT_WRITEFUNCTION set to a functionpointer
        !           158:   CURLOPT_READDATA set to a objectpointer
        !           159:   CURLOPT_READFUNCTION set to a functionpointer
        !           160:   CURLOPT_SEEKDATA set to a objectpointer
        !           161:   CURLOPT_SEEKFUNCTION set to a functionpointer
        !           162:   CURLOPT_ERRORBUFFER set to a objectpointer
        !           163:   CURLOPT_STDERR set to a objectpointer
        !           164:   CURLOPT_DEBUGFUNCTION set to a functionpointer
        !           165:   CURLOPT_DEBUGDATA set to a objectpointer
        !           166:   CURLOPT_HEADERFUNCTION set to a functionpointer
        !           167:   CURLOPT_HEADERDATA set to a objectpointer
        !           168: 
        !           169:   */
        !           170: 
        !           171:   ret = curl_easy_perform(hnd);
        !           172: 
        !           173:   curl_easy_cleanup(hnd);
        !           174:   hnd = NULL;
        !           175:   curl_mime_free(mime1);
        !           176:   mime1 = NULL;
        !           177:   curl_mime_free(mime2);
        !           178:   mime2 = NULL;
        !           179:   curl_slist_free_all(slist1);
        !           180:   slist1 = NULL;
        !           181: 
        !           182:   return (int)ret;
        !           183: }
        !           184: /**** End of sample code ****/
        !           185: </file>
        !           186: </verify>
        !           187: </testcase>

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