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);
+});