From aa9d1903ccb3aac9157fd23aa6b96a96d0bdece9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8nsson?= <sj@morningtrain.dk> Date: Tue, 19 Nov 2024 15:07:10 +0100 Subject: [PATCH 1/3] =?UTF-8?q?=F0=9F=94=A7=20Add=20timeout=20config=20val?= =?UTF-8?q?ue?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/e-conomic.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/config/e-conomic.php b/config/e-conomic.php index 771ccf1..83a5baf 100644 --- a/config/e-conomic.php +++ b/config/e-conomic.php @@ -8,4 +8,9 @@ * This class handles actions on request and response to Economic. */ 'request_logger' => \Morningtrain\LaravelEconomic\RequestLogger\VoidRequestLogger::class, + + /* + * The timeout in seconds for the request to Economic. + */ + 'timeout_seconds' => env('ECONOMIC_TIMEOUT_SECONDS', 30), ]; From d904bcc0e8fabdbf5bbe6408057ed289f6fd948a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8nsson?= <sj@morningtrain.dk> Date: Tue, 19 Nov 2024 15:07:27 +0100 Subject: [PATCH 2/3] =?UTF-8?q?=E2=9C=A8=20Set=20http=20timeout=20from=20c?= =?UTF-8?q?onfig=20value,=20default=20to=2030?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/LaravelEconomicServiceProvider.php | 1 + 1 file changed, 1 insertion(+) diff --git a/src/LaravelEconomicServiceProvider.php b/src/LaravelEconomicServiceProvider.php index b646902..6dbbb6c 100644 --- a/src/LaravelEconomicServiceProvider.php +++ b/src/LaravelEconomicServiceProvider.php @@ -46,6 +46,7 @@ public function packageBooted() /** @var \Illuminate\Http\Client\Factory $this */ return $this + ->timeout(config('e-conomic.timeout_seconds', 30)) ->withHeaders([ 'X-AppSecretToken' => config('e-conomic.app_secret_token'), 'X-AgreementGrantToken' => config('e-conomic.agreement_grant_token'), From 93fa2251d3c32428568aa49c277b18a72195200c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8nsson?= <sj@morningtrain.dk> Date: Tue, 19 Nov 2024 15:07:36 +0100 Subject: [PATCH 3/3] =?UTF-8?q?=E2=9C=85=20Add=20test=20for=20timeout=20co?= =?UTF-8?q?nfig?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/Unit/DriverTest.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tests/Unit/DriverTest.php b/tests/Unit/DriverTest.php index 428d024..e44aa51 100644 --- a/tests/Unit/DriverTest.php +++ b/tests/Unit/DriverTest.php @@ -57,3 +57,9 @@ 403, 500, ]); + +it('sets request timeout from config value', function () { + config()->set('e-conomic.timeout_seconds', 45); + + expect(Http::economic()->getOptions()['timeout'])->toBe(45); +});