Final Class Yiisoft\Yii\AuthClient\RequestUtil
| Inheritance | Yiisoft\Yii\AuthClient\RequestUtil |
|---|
Public Methods
| Method | Description | Defined By |
|---|---|---|
| addHeaders() | Yiisoft\Yii\AuthClient\RequestUtil | |
| addParams() | Yiisoft\Yii\AuthClient\RequestUtil | |
| composeUrl() | Composes URL from base URL and GET params. | Yiisoft\Yii\AuthClient\RequestUtil |
| getParams() | Yiisoft\Yii\AuthClient\RequestUtil |
Method Details
| 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;
}
| 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);
}
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;
}
| 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;
}
Signup or Login in order to comment.