github_commits.c: GitHub API v3 requires a User-Agent header

This commit is contained in:
Petri Lehtinen 2013-12-27 08:55:05 +02:00
parent 316492e4d0
commit dc69aa797b

View File

@ -53,6 +53,7 @@ static char *request(const char *url)
{ {
CURL *curl = NULL; CURL *curl = NULL;
CURLcode status; CURLcode status;
struct curl_slist *headers = NULL;
char *data = NULL; char *data = NULL;
long code; long code;
@ -71,6 +72,11 @@ static char *request(const char *url)
}; };
curl_easy_setopt(curl, CURLOPT_URL, url); curl_easy_setopt(curl, CURLOPT_URL, url);
/* GitHub commits API v3 requires a User-Agent header */
headers = curl_slist_append(headers, "User-Agent: Jansson-Tutorial");
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_response); curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_response);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &write_result); curl_easy_setopt(curl, CURLOPT_WRITEDATA, &write_result);
@ -90,6 +96,7 @@ static char *request(const char *url)
} }
curl_easy_cleanup(curl); curl_easy_cleanup(curl);
curl_slist_free_all(headers);
curl_global_cleanup(); curl_global_cleanup();
/* zero-terminate the result */ /* zero-terminate the result */
@ -102,6 +109,8 @@ error:
free(data); free(data);
if(curl) if(curl)
curl_easy_cleanup(curl); curl_easy_cleanup(curl);
if(headers)
curl_slist_free_all(headers);
curl_global_cleanup(); curl_global_cleanup();
return NULL; return NULL;
} }