Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #include "test.h"
00023
00024 #include "memdebug.h"
00025
00026
00027
00028 int test(char *URL)
00029 {
00030 CURL *curl;
00031 long httpcode;
00032 int res = CURLE_OK;
00033
00034 global_init(CURL_GLOBAL_ALL);
00035
00036 easy_init(curl);
00037
00038 easy_setopt(curl, CURLOPT_URL, URL);
00039
00040 res = curl_easy_perform(curl);
00041 if(res) {
00042 fprintf(stderr, "%s:%d curl_easy_perform() failed with code %d (%s)\n",
00043 __FILE__, __LINE__, res, curl_easy_strerror(res));
00044 goto test_cleanup;
00045 }
00046
00047 res = curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &httpcode);
00048 if(res) {
00049 fprintf(stderr, "%s:%d curl_easy_getinfo() failed with code %d (%s)\n",
00050 __FILE__, __LINE__, res, curl_easy_strerror(res));
00051 goto test_cleanup;
00052 }
00053 if(httpcode != 200) {
00054 fprintf(stderr, "%s:%d unexpected response code %ld\n",
00055 __FILE__, __LINE__, httpcode);
00056 res = CURLE_HTTP_RETURNED_ERROR;
00057 goto test_cleanup;
00058 }
00059
00060
00061 curl_easy_reset(curl);
00062
00063 res = curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &httpcode);
00064 if(res) {
00065 fprintf(stderr, "%s:%d curl_easy_getinfo() failed with code %d (%s)\n",
00066 __FILE__, __LINE__, res, curl_easy_strerror(res));
00067 goto test_cleanup;
00068 }
00069 if(httpcode != 0) {
00070 fprintf(stderr, "%s:%d curl_easy_reset failed to zero the response code\n"
00071 "possible regression of github bug 1017\n", __FILE__, __LINE__);
00072 res = CURLE_HTTP_RETURNED_ERROR;
00073 goto test_cleanup;
00074 }
00075
00076 test_cleanup:
00077 curl_easy_cleanup(curl);
00078 curl_global_cleanup();
00079 return res;
00080 }