Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. GitHub.php

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\Util

Code

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;
}
RSS feed
Powered by Drupal