From db45845289abeedcd36067a242f1f835b4b811aa Mon Sep 17 00:00:00 2001
From: dyszczo <krzysiek@inspirelabs.pl>
Date: Thu, 30 May 2019 18:31:33 +0200
Subject: [PATCH] ApiClientOptionsTimeout interface

---
 src/Client/ApiClientOptions.php        |  6 ------
 src/Client/ApiClientOptionsTimeout.php | 13 +++++++++++++
 src/Client/ClientFactory.php           |  2 +-
 3 files changed, 14 insertions(+), 7 deletions(-)
 create mode 100644 src/Client/ApiClientOptionsTimeout.php

diff --git a/src/Client/ApiClientOptions.php b/src/Client/ApiClientOptions.php
index f35582f..6decfa7 100644
--- a/src/Client/ApiClientOptions.php
+++ b/src/Client/ApiClientOptions.php
@@ -33,10 +33,4 @@ interface ApiClientOptions extends HttpClientOptions, SerializerOptions
      * @return string
      */
     public function getApiClientClass();
-
-    /**
-     * @return int
-     */
-    public function getTimeout();
-
 }
\ No newline at end of file
diff --git a/src/Client/ApiClientOptionsTimeout.php b/src/Client/ApiClientOptionsTimeout.php
new file mode 100644
index 0000000..281c0d3
--- /dev/null
+++ b/src/Client/ApiClientOptionsTimeout.php
@@ -0,0 +1,13 @@
+<?php
+
+namespace WPDesk\ApiClient\Client;
+
+
+interface ApiClientOptionsTimeout extends ApiClientOptions
+{
+    /**
+     * @return int
+     */
+    public function getTimeout();
+
+}
\ No newline at end of file
diff --git a/src/Client/ClientFactory.php b/src/Client/ClientFactory.php
index bc46066..6d84b7e 100644
--- a/src/Client/ClientFactory.php
+++ b/src/Client/ClientFactory.php
@@ -25,7 +25,7 @@ class ClientFactory
             $options->getLogger(),
             $options->getApiUrl(),
             $options->getDefaultRequestHeaders(),
-            $options->getTimeout()
+            ($options instanceof ApiClientOptionsTimeout)? $options->getTimeout(): null
         );
 
         if ($options->isCachedClient()) {
-- 
GitLab