PluginProbe
DecaLog / 4.4.0
DecaLog v4.4.0
3.0.2 3.1.0 3.10.0 3.2.0 3.3.0 3.4.0 3.4.1 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.6.3 3.7.0 3.7.1 3.8.0 3.9.0 3.9.1 4.0.0 4.1.0 4.2.0 4.3.0 4.3.1 4.4.0 4.5.0 All 75 releases
decalog / includes / libraries / http / client-common / Plugin / AuthenticationPlugin.php

AuthenticationPlugin.php in DecaLog 4.4.0, at includes/libraries/http/client-common/Plugin/AuthenticationPlugin.php

39 lines 821 B
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 declare(strict_types=1);
4
5 namespace Http\Client\Common\Plugin;
6
7 use Http\Client\Common\Plugin;
8 use Http\Message\Authentication;
9 use Http\Promise\Promise;
10 use Psr\Http\Message\RequestInterface;
11
12 /**
13 * Send an authenticated request.
14 *
15 * @author Joel Wurtz <joel.wurtz@gmail.com>
16 */
17 final class AuthenticationPlugin implements Plugin
18 {
19 /**
20 * @var Authentication An authentication system
21 */
22 private $authentication;
23
24 public function __construct(Authentication $authentication)
25 {
26 $this->authentication = $authentication;
27 }
28
29 /**
30 * {@inheritdoc}
31 */
32 public function handleRequest(RequestInterface $request, callable $next, callable $first): Promise
33 {
34 $request = $this->authentication->authenticate($request);
35
36 return $next($request);
37 }
38 }
39