function GitHub::getRateLimit
Extract rate limit from response.
Parameters
string[] $headers Headers from Composer\Downloader\TransportException.:
Return value
array{limit: int|'?', reset: string}
File
-
vendor/
composer/ composer/ src/ Composer/ Util/ GitHub.php, line 157
Class
- GitHub
- @author Jordi Boggiano <j.boggiano@seld.be>
Namespace
Composer\UtilCode
public function getRateLimit(array $headers) : array {
$rateLimit = [
'limit' => '?',
'reset' => '?',
];
foreach ($headers as $header) {
$header = trim($header);
if (false === stripos($header, 'x-ratelimit-')) {
continue;
}
[
$type,
$value,
] = explode(':', $header, 2);
switch (strtolower($type)) {
case 'x-ratelimit-limit':
$rateLimit['limit'] = (int) trim($value);
break;
case 'x-ratelimit-reset':
$rateLimit['reset'] = date('Y-m-d H:i:s', (int) trim($value));
break;
}
}
return $rateLimit;
}