OXIESEC PANEL
- Current Dir:
/
/
var
/
www
/
cream
/
back_aws-ses
/
vendor
/
guzzlehttp
/
guzzle
/
src
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
05/19/2025 10:07:21 AM
rwxr-xr-x
📄
BodySummarizer.php
659 bytes
05/19/2025 10:07:21 AM
rw-r--r--
📄
BodySummarizerInterface.php
246 bytes
05/19/2025 10:07:21 AM
rw-r--r--
📄
Client.php
18.49 KB
05/19/2025 10:07:21 AM
rw-r--r--
📄
ClientInterface.php
2.91 KB
05/19/2025 10:07:21 AM
rw-r--r--
📄
ClientTrait.php
9.03 KB
05/19/2025 10:07:21 AM
rw-r--r--
📁
Cookie
-
05/19/2025 10:07:21 AM
rwxr-xr-x
📁
Exception
-
05/19/2025 10:07:21 AM
rwxr-xr-x
📁
Handler
-
05/19/2025 10:07:21 AM
rwxr-xr-x
📄
HandlerStack.php
8.77 KB
05/19/2025 10:07:21 AM
rw-r--r--
📄
MessageFormatter.php
7.81 KB
05/19/2025 10:07:21 AM
rw-r--r--
📄
MessageFormatterInterface.php
577 bytes
05/19/2025 10:07:21 AM
rw-r--r--
📄
Middleware.php
11.16 KB
05/19/2025 10:07:21 AM
rw-r--r--
📄
Pool.php
4.73 KB
05/19/2025 10:07:21 AM
rw-r--r--
📄
PrepareBodyMiddleware.php
3.18 KB
05/19/2025 10:07:21 AM
rw-r--r--
📄
RedirectMiddleware.php
8.14 KB
05/19/2025 10:07:21 AM
rw-r--r--
📄
RequestOptions.php
10.98 KB
05/19/2025 10:07:21 AM
rw-r--r--
📄
RetryMiddleware.php
3.64 KB
05/19/2025 10:07:21 AM
rw-r--r--
📄
TransferStats.php
3.23 KB
05/19/2025 10:07:21 AM
rw-r--r--
📄
Utils.php
13.15 KB
05/19/2025 10:07:21 AM
rw-r--r--
📄
functions.php
5.72 KB
05/19/2025 10:07:21 AM
rw-r--r--
📄
functions_include.php
166 bytes
05/19/2025 10:07:21 AM
rw-r--r--
Editing: RetryMiddleware.php
Close
<?php namespace GuzzleHttp; use GuzzleHttp\Promise as P; use GuzzleHttp\Promise\PromiseInterface; use Psr\Http\Message\RequestInterface; use Psr\Http\Message\ResponseInterface; /** * Middleware that retries requests based on the boolean result of * invoking the provided "decider" function. * * @final */ class RetryMiddleware { /** * @var callable(RequestInterface, array): PromiseInterface */ private $nextHandler; /** * @var callable */ private $decider; /** * @var callable(int) */ private $delay; /** * @param callable $decider Function that accepts the number of retries, * a request, [response], and [exception] and * returns true if the request is to be * retried. * @param callable(RequestInterface, array): PromiseInterface $nextHandler Next handler to invoke. * @param (callable(int): int)|null $delay Function that accepts the number of retries * and returns the number of * milliseconds to delay. */ public function __construct(callable $decider, callable $nextHandler, callable $delay = null) { $this->decider = $decider; $this->nextHandler = $nextHandler; $this->delay = $delay ?: __CLASS__.'::exponentialDelay'; } /** * Default exponential backoff delay function. * * @return int milliseconds. */ public static function exponentialDelay(int $retries): int { return (int) 2 ** ($retries - 1) * 1000; } public function __invoke(RequestInterface $request, array $options): PromiseInterface { if (!isset($options['retries'])) { $options['retries'] = 0; } $fn = $this->nextHandler; return $fn($request, $options) ->then( $this->onFulfilled($request, $options), $this->onRejected($request, $options) ); } /** * Execute fulfilled closure */ private function onFulfilled(RequestInterface $request, array $options): callable { return function ($value) use ($request, $options) { if (!($this->decider)( $options['retries'], $request, $value, null )) { return $value; } return $this->doRetry($request, $options, $value); }; } /** * Execute rejected closure */ private function onRejected(RequestInterface $req, array $options): callable { return function ($reason) use ($req, $options) { if (!($this->decider)( $options['retries'], $req, null, $reason )) { return P\Create::rejectionFor($reason); } return $this->doRetry($req, $options); }; } private function doRetry(RequestInterface $request, array $options, ResponseInterface $response = null): PromiseInterface { $options['delay'] = ($this->delay)(++$options['retries'], $response, $request); return $this($request, $options); } }