PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 2.4.4
Booking for Appointments and Events Calendar – Amelia v2.4.4
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 / message / src / Authentication / Chain.php
ameliabooking / vendor / php-http / message / src / Authentication Last commit date
AutoBasicAuth.php 6 months ago BasicAuth.php 6 months ago Bearer.php 6 months ago Chain.php 6 months ago Matching.php 6 months ago QueryParam.php 6 months ago RequestConditional.php 6 months ago Wsse.php 6 months ago
Chain.php
48 lines
1 <?php
2
3 namespace AmeliaHttp\Message\Authentication;
4
5 use AmeliaHttp\Message\Authentication;
6 use AmeliaVendor\Psr\Http\Message\RequestInterface;
7
8 /**
9 * Authenticate a PSR-7 Request with a multiple authentication methods.
10 *
11 * @author Márk Sági-Kazár <mark.sagikazar@gmail.com>
12 */
13 final class Chain implements Authentication
14 {
15 /**
16 * @var Authentication[]
17 */
18 private $authenticationChain = [];
19
20 /**
21 * @param Authentication[] $authenticationChain
22 */
23 public function __construct(array $authenticationChain = [])
24 {
25 foreach ($authenticationChain as $authentication) {
26 if (!$authentication instanceof Authentication) {
27 throw new \InvalidArgumentException(
28 'Members of the authentication chain must be of type AmeliaHttp\Message\Authentication'
29 );
30 }
31 }
32
33 $this->authenticationChain = $authenticationChain;
34 }
35
36 /**
37 * {@inheritdoc}
38 */
39 public function authenticate(RequestInterface $request)
40 {
41 foreach ($this->authenticationChain as $authentication) {
42 $request = $authentication->authenticate($request);
43 }
44
45 return $request;
46 }
47 }
48