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 / message / src / Authentication / Chain.php
ameliabooking / vendor / php-http / message / src / Authentication Last commit date
AutoBasicAuth.php 3 years ago BasicAuth.php 3 years ago Bearer.php 3 years ago Chain.php 3 years ago Matching.php 3 years ago QueryParam.php 3 years ago RequestConditional.php 3 years ago Wsse.php 3 years ago
Chain.php
48 lines
1 <?php
2
3 namespace AmeliaHttp\Message\Authentication;
4
5 use AmeliaHttp\Message\Authentication;
6 use AmeliaPsr\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