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 / HistoryPlugin.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
HistoryPlugin.php
50 lines
1 <?php
2
3 namespace AmeliaHttp\Client\Common\Plugin;
4
5 use AmeliaHttp\Client\Common\Plugin;
6 use AmeliaHttp\Client\Exception;
7 use AmeliaPsr\Http\Message\RequestInterface;
8 use AmeliaPsr\Http\Message\ResponseInterface;
9
10 /**
11 * Record HTTP calls.
12 *
13 * @author Joel Wurtz <joel.wurtz@gmail.com>
14 */
15 final class HistoryPlugin implements Plugin
16 {
17 /**
18 * Journal use to store request / responses / exception.
19 *
20 * @var Journal
21 */
22 private $journal;
23
24 /**
25 * @param Journal $journal
26 */
27 public function __construct(Journal $journal)
28 {
29 $this->journal = $journal;
30 }
31
32 /**
33 * {@inheritdoc}
34 */
35 public function handleRequest(RequestInterface $request, callable $next, callable $first)
36 {
37 $journal = $this->journal;
38
39 return $next($request)->then(function (ResponseInterface $response) use ($request, $journal) {
40 $journal->addSuccess($request, $response);
41
42 return $response;
43 }, function (Exception $exception) use ($request, $journal) {
44 $journal->addFailure($request, $exception);
45
46 throw $exception;
47 });
48 }
49 }
50