PATH:
home
/
lab2454c
/
.trash
/
core
/
vendor
/
mollie
/
mollie-api-php
/
src
/
HttpAdapter
<?php namespace Mollie\Api\HttpAdapter; use GuzzleHttp\Exception\ConnectException; use GuzzleHttp\Exception\TransferException; use GuzzleHttp\Middleware; use GuzzleHttp\Psr7\Request; use GuzzleHttp\Psr7\Response; class Guzzle6And7RetryMiddlewareFactory { /** * The maximum number of retries */ const MAX_RETRIES = 5; /** * The amount of milliseconds the delay is being increased with on each retry. */ const DELAY_INCREASE_MS = 1000; /** * @param bool $delay default to true, can be false to speed up tests * * @return callable */ public function retry($delay = true) { return Middleware::retry( $this->newRetryDecider(), $delay ? $this->getRetryDelay() : $this->getZeroRetryDelay() ); } /** * Returns a method that takes the number of retries and returns the number of milliseconds * to wait * * @return callable */ private function getRetryDelay() { return function ($numberOfRetries) { return static::DELAY_INCREASE_MS * $numberOfRetries; }; } /** * Returns a method that returns zero milliseconds to wait * * @return callable */ private function getZeroRetryDelay() { return function ($numberOfRetries) { return 0; }; } /** * @return callable */ private function newRetryDecider() { return function ( $retries, Request $request, Response $response = null, TransferException $exception = null ) { if ($retries >= static::MAX_RETRIES) { return false; } if ($exception instanceof ConnectException) { return true; } return false; }; } }
[-] MollieHttpAdapterPickerInterface.php
[edit]
[-] Guzzle6And7RetryMiddlewareFactory.php
[edit]
[-] MollieHttpAdapterPicker.php
[edit]
[+]
..
[-] MollieHttpAdapterInterface.php
[edit]
[-] Guzzle6And7MollieHttpAdapter.php
[edit]
[-] CurlMollieHttpAdapter.php
[edit]