Codeforces API user.RatedList method broken by Cloudflare integration

Revision en1, by ExplodingFreeze, 2024-08-22 18:54:17

When calling the user.RatedList API with activeOnly = false and includeRetired = true (i.e, return all rated users), the request always seems to fail with a 524 error code after 100s. This appears to be the time after which the Cloudflare layer will timeout when no response is received from the host.

Is there any known workaround for this use case?

If not, could something please be done to make this API method usable again? Some potential ideas:

  1. Also serve the API from a subdomain (api.codeforces.com?) and disable Cloudflare proxying for the subdomain.

  2. Replace the current method with a paginated version (from, count) so the query could be split into parts which individually run within the timeout.

Increasing the timeout is likely not a feasible fix since it requires the site to be using a Cloudflare enterprise plan which I'm guessing Codeforces is not.

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
en1 English ExplodingFreeze 2024-08-22 18:54:17 1062 Initial revision (published)