Compare commits
2 commits
a8c8b72e20
...
0189bcc0d0
Author | SHA1 | Date | |
---|---|---|---|
0189bcc0d0 | |||
8bd06434e3 |
2 changed files with 7 additions and 2 deletions
1
http.c
1
http.c
|
@ -22,6 +22,7 @@ char* request(char *url)
|
|||
if(httpHandler) {
|
||||
curl_easy_setopt(httpHandler,CURLOPT_URL, url);
|
||||
curl_easy_setopt(httpHandler,CURLOPT_WRITEFUNCTION, httpResponseCallback);
|
||||
curl_easy_setopt(httpHandler,CURLOPT_USERAGENT, "cWikiBot/0.1 (https://git.zom.bi/cpp/cWikiBot; cpp@zom.bi) libcurl4/7.64.0");
|
||||
curl_easy_setopt(httpHandler,CURLOPT_WRITEDATA, (void *)&httpResponse);
|
||||
return_code = curl_easy_perform(httpHandler);
|
||||
}
|
||||
|
|
|
@ -12,15 +12,19 @@ json_object* query_lichess(char* username)
|
|||
*/
|
||||
char* api_base = "https://lichess.org/api/user/";
|
||||
char user_url[128];
|
||||
int retries = 5;
|
||||
strcpy(user_url,api_base);
|
||||
strcat(user_url,username);
|
||||
printf("querying %s\n",user_url);
|
||||
char* http_response = request(user_url);
|
||||
if(http_response == NULL)
|
||||
while(http_response == NULL)
|
||||
{
|
||||
printf("didn't receive HTTP response, we might be rate-limited. Waiting 60s");
|
||||
sleep(60);
|
||||
return NULL;
|
||||
http_response = request(user_url);
|
||||
retries--;
|
||||
if(retries == 0)
|
||||
return NULL;
|
||||
}
|
||||
json_object *lichessUser = json_tokener_parse(http_response);
|
||||
json_object *profile = json_object_object_get(lichessUser,"profile");
|
||||
|
|
Loading…
Reference in a new issue