Retry up to 5 times, when an error occurs.

This commit is contained in:
cpp 2020-12-26 20:49:36 +01:00
parent 8bd06434e3
commit 0189bcc0d0
1 changed files with 6 additions and 2 deletions

View File

@ -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");