%PDF- %PDF-
Direktori : /home/jalalj2hb/www/G/vendor/php-http/client-common/src/Plugin/ |
Current File : /home/jalalj2hb/www/G/vendor/php-http/client-common/src/Plugin/QueryDefaultsPlugin.php |
<?php namespace Http\Client\Common\Plugin; use Http\Client\Common\Plugin; use Psr\Http\Message\RequestInterface; /** * Set query to default value if it does not exist. * * If a given query parameter already exists the value wont be replaced and the request wont be changed. * * @author Tobias Nyholm <tobias.nyholm@gmail.com> */ final class QueryDefaultsPlugin implements Plugin { /** * @var array */ private $queryParams = []; /** * @param array $queryParams Hashmap of query name to query value. Names and values must not be url encoded as * this plugin will encode them */ public function __construct(array $queryParams) { $this->queryParams = $queryParams; } /** * {@inheritdoc} */ public function handleRequest(RequestInterface $request, callable $next, callable $first) { $uri = $request->getUri(); parse_str($uri->getQuery(), $query); $query += $this->queryParams; $request = $request->withUri( $uri->withQuery(http_build_query($query)) ); return $next($request); } }