|
7 | 7 | use GearboxSolutions\EloquentFileMaker\Database\Query\Grammars\FMGrammar; |
8 | 8 | use GearboxSolutions\EloquentFileMaker\Database\Schema\FMBuilder; |
9 | 9 | use GearboxSolutions\EloquentFileMaker\Exceptions\FileMakerDataApiException; |
10 | | -use GuzzleHttp\Exception\TransferException; |
11 | | -use GuzzleHttp\Middleware; |
12 | 10 | use Illuminate\Database\Connection; |
13 | 11 | use Illuminate\Http\Client\PendingRequest; |
14 | 12 | use Illuminate\Http\UploadedFile; |
15 | 13 | use Illuminate\Support\Arr; |
16 | 14 | use Illuminate\Support\Collection; |
17 | 15 | use Illuminate\Support\Facades\Cache; |
18 | 16 | use Illuminate\Support\Facades\Http; |
19 | | -use Psr\Http\Message\RequestInterface; |
20 | | -use Psr\Http\Message\ResponseInterface; |
21 | 17 | use Symfony\Component\HttpFoundation\File\File; |
22 | 18 |
|
23 | 19 | class FileMakerConnection extends Connection |
@@ -114,7 +110,7 @@ protected function fetchNewSessionToken() |
114 | 110 | ]; |
115 | 111 |
|
116 | 112 | // perform the login |
117 | | - $response = Http::withBasicAuth($this->config['username'], $this->config['password']) |
| 113 | + $response = Http::retry($this->retries, 100)->withBasicAuth($this->config['username'], $this->config['password']) |
118 | 114 | ->post($url, $postBody); |
119 | 115 |
|
120 | 116 | // Check for errors |
@@ -683,11 +679,9 @@ protected function prepareRequestForSending($request) |
683 | 679 | if ($request instanceof PendingRequest) { |
684 | 680 | $request->withToken($this->sessionToken); |
685 | 681 | } else { |
686 | | - $request = Http::withToken($this->sessionToken); |
| 682 | + $request = Http::retry($this->retries, 100)->withoutVerifying()->withToken($this->sessionToken); |
687 | 683 | } |
688 | 684 |
|
689 | | - $request->withMiddleware($this->retryMiddleware()); |
690 | | - |
691 | 685 | return $request; |
692 | 686 | } |
693 | 687 |
|
@@ -732,44 +726,6 @@ public function setRetries($retries) |
732 | 726 | return $this; |
733 | 727 | } |
734 | 728 |
|
735 | | - protected function retryMiddleware() |
736 | | - { |
737 | | - return Middleware::retry(function ( |
738 | | - $retries, |
739 | | - RequestInterface $request, |
740 | | - ?ResponseInterface $response = null, |
741 | | - ?TransferException $exception = null |
742 | | - ) { |
743 | | - // Limit the number of retries to 5 |
744 | | - if ($retries >= $this->retries) { |
745 | | - return false; |
746 | | - } |
747 | | - |
748 | | - $should_retry = false; |
749 | | - $log_message = null; |
750 | | - |
751 | | - // Retry connection exceptions |
752 | | - if ($exception instanceof TransferException) { |
753 | | - $should_retry = true; |
754 | | - $log_message = 'Connection Error: ' . $exception->getMessage(); |
755 | | - } |
756 | | - |
757 | | - if ($log_message) { |
758 | | - error_log($log_message, 0); |
759 | | - } |
760 | | - |
761 | | - if ($should_retry) { |
762 | | - if ($retries > 0) { |
763 | | - error_log('Retry ' . $retries . '…', 0); |
764 | | - } |
765 | | - } |
766 | | - |
767 | | - return $should_retry; |
768 | | - }, function () { |
769 | | - return 0; |
770 | | - }); |
771 | | - } |
772 | | - |
773 | 729 | protected function getDefaultQueryGrammar() |
774 | 730 | { |
775 | 731 | return new FMGrammar(); |
|
0 commit comments