PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 1.2.20
Booking for Appointments and Events Calendar – Amelia v1.2.20
2.4.4 2.4.3 2.4.2 2.4.1 2.4 trunk 1.2.1 1.2.10 1.2.11 1.2.12 1.2.13 1.2.14 1.2.15 1.2.16 1.2.17 1.2.18 1.2.19 1.2.2 1.2.20 1.2.21 1.2.22 1.2.23 1.2.24 1.2.25 1.2.26 1.2.27 1.2.28 1.2.29 1.2.3 1.2.30 1.2.31 1.2.32 1.2.33 1.2.34 1.2.35 1.2.36 1.2.37 1.2.38 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 2.0 2.0.1 2.0.2 2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.3
ameliabooking / vendor / php-http / client-common / src / Plugin / QueryDefaultsPlugin.php
ameliabooking / vendor / php-http / client-common / src / Plugin Last commit date
AddHostPlugin.php 3 years ago AddPathPlugin.php 3 years ago AuthenticationPlugin.php 3 years ago BaseUriPlugin.php 3 years ago ContentLengthPlugin.php 3 years ago ContentTypePlugin.php 3 years ago CookiePlugin.php 3 years ago DecoderPlugin.php 3 years ago ErrorPlugin.php 3 years ago HeaderAppendPlugin.php 3 years ago HeaderDefaultsPlugin.php 3 years ago HeaderRemovePlugin.php 3 years ago HeaderSetPlugin.php 3 years ago HistoryPlugin.php 3 years ago Journal.php 3 years ago QueryDefaultsPlugin.php 3 years ago RedirectPlugin.php 3 years ago RequestMatcherPlugin.php 3 years ago RetryPlugin.php 3 years ago VersionBridgePlugin.php 3 years ago
QueryDefaultsPlugin.php
48 lines
1 <?php
2
3 namespace AmeliaHttp\Client\Common\Plugin;
4
5 use AmeliaHttp\Client\Common\Plugin;
6 use AmeliaPsr\Http\Message\RequestInterface;
7
8 /**
9 * Set query to default value if it does not exist.
10 *
11 * If a given query parameter already exists the value wont be replaced and the request wont be changed.
12 *
13 * @author Tobias Nyholm <tobias.nyholm@gmail.com>
14 */
15 final class QueryDefaultsPlugin implements Plugin
16 {
17 /**
18 * @var array
19 */
20 private $queryParams = [];
21
22 /**
23 * @param array $queryParams Hashmap of query name to query value. Names and values must not be url encoded as
24 * this plugin will encode them
25 */
26 public function __construct(array $queryParams)
27 {
28 $this->queryParams = $queryParams;
29 }
30
31 /**
32 * {@inheritdoc}
33 */
34 public function handleRequest(RequestInterface $request, callable $next, callable $first)
35 {
36 $uri = $request->getUri();
37
38 parse_str($uri->getQuery(), $query);
39 $query += $this->queryParams;
40
41 $request = $request->withUri(
42 $uri->withQuery(http_build_query($query))
43 );
44
45 return $next($request);
46 }
47 }
48