0 follower

Final Class Yiisoft\Yii\AuthClient\RequestUtil

InheritanceYiisoft\Yii\AuthClient\RequestUtil

Method Details

Hide inherited methods

addHeaders() public static method

public static \Psr\Http\Message\RequestInterface addHeaders ( \Psr\Http\Message\RequestInterface $request, array $headers )
$request \Psr\Http\Message\RequestInterface
$headers array

                public static function addHeaders(RequestInterface $request, array $headers): RequestInterface
{
    /**
     * @see Psr\Http\Message\withHeader
     * @var string $header Case-insensitive header field name.
     * @var string|string[] $value Header value(s).
     */
    foreach ($headers as $header => $value) {
        $request = $request->withHeader($header, $value);
    }
    return $request;
}

            
addParams() public static method

public static \Psr\Http\Message\RequestInterface addParams ( \Psr\Http\Message\RequestInterface $request, array $params )
$request \Psr\Http\Message\RequestInterface
$params array

                public static function addParams(RequestInterface $request, array $params): RequestInterface
{
    $currentParams = self::getParams($request);
    $newParams = array_merge($currentParams, $params);
    $uri = $request->getUri()->withQuery(http_build_query($newParams, '', '&', PHP_QUERY_RFC3986));
    return $request->withUri($uri);
}

            
composeUrl() public static method

Composes URL from base URL and GET params.

public static string composeUrl ( string $url, array $params = [] )
$url string

Base URL.

$params array

GET params.

return string

Composed URL.

                public static function composeUrl(string $url, array $params = []): string
{
    if (!empty($params)) {
        if (!str_contains($url, '?')) {
            $url .= '?';
        } else {
            $url .= '&';
        }
        $url .= http_build_query($params, '', '&', PHP_QUERY_RFC3986);
    }
    return $url;
}

            
getParams() public static method

public static (string|(string|null)[]|null)[] getParams ( \Psr\Http\Message\RequestInterface $request )
$request \Psr\Http\Message\RequestInterface

                public static function getParams(RequestInterface $request): array
{
    $queryString = $request->getUri()->getQuery();
    if ($queryString === '') {
        return [];
    }
    $result = [];
    foreach (explode('&', $queryString) as $pair) {
        $parts = explode('=', $pair, 2);
        $key = rawurldecode($parts[0]);
        $value = isset($parts[1]) ? rawurldecode($parts[1]) : null;
        if (!isset($result[$key])) {
            $result[$key] = $value;
        } else {
            if (!is_array($result[$key])) {
                $result[$key] = [$result[$key]];
            }
            $result[$key][] = $value;
        }
    }
    return $result;
}