diff --git a/lib/ckratelimit.php b/lib/ckratelimit.php index b8ae8b1..ad9b21d 100644 --- a/lib/ckratelimit.php +++ b/lib/ckratelimit.php @@ -1,4 +1,5 @@ false,'error'=>'«x-ratelimit-reset» header could not be converted to a unix timestamp']; // don't do the one on the line below, since it happens lots of times //if ($reset<$date) return ['ok'=>false,'error'=>'the unix timestamp parsed from «x-ratelimit-reset» header is less than the unix timestamp parsed from «date» header']; - if ($remaining==0) - return ['ok'=>true,'sleep'=>$reset-$date+1,'remaining'=>$remaining]; - else - return ['ok'=>true,'sleep'=>0,'remaining'=>$remaining]; + return ['ok'=>true,'sleep'=>$reset-$date+1,'remaining'=>$remaining]; } + +/* +// test +$context=[ + 'http'=>[ + 'header'=>"Accept: application/json\r\n"; + ] +]; +$context=stream_context_create($context); +while (true) { + $res=@file_get_contents('https://livellosegreto.it/api/v2/instance',false,$context); + echo "{$res}\n"; + print_r($http_response_header); + $rl=ckratelimit($http_response_header); + print_r($rl); + if ($rl['sleep']>0) { + echo 'Reached rate limit, sleeping for '.ght($rl['sleep']).' (until '.date('c',time()+$rl['sleep']).') ...'; + sleep($rl['sleep']); + echo "\n"; + } +} +exit(0);*/ + ?>