Current File : /var/www/prestashop/modules/ps_metrics/vendor/php-http/message/src/Authentication/QueryParam.php |
<?php
namespace ps_metrics_module_v4_0_6\Http\Message\Authentication;
use ps_metrics_module_v4_0_6\Http\Message\Authentication;
use Psr\Http\Message\RequestInterface;
/**
* Authenticate a PSR-7 Request by adding parameters to its query.
*
* Note: Although in some cases it can be useful, we do not recommend using query parameters for authentication.
* Credentials in the URL is generally unsafe as they are not encrypted, anyone can see them.
*
* @author Márk Sági-Kazár <mark.sagikazar@gmail.com>
*/
final class QueryParam implements Authentication
{
/**
* @var array
*/
private $params = [];
public function __construct(array $params)
{
$this->params = $params;
}
public function authenticate(RequestInterface $request)
{
$uri = $request->getUri();
$query = $uri->getQuery();
$params = [];
\parse_str($query, $params);
$params = \array_merge($params, $this->params);
$query = \http_build_query($params, '', '&');
$uri = $uri->withQuery($query);
return $request->withUri($uri);
}
}