|
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