@@ -13,18 +13,38 @@ class Connector
13
13
14
14
private $ baseUrl ;
15
15
16
+ private $ timeout = 0 ;
17
+
18
+ private $ connectionTimeout = 300 ;
19
+
16
20
private static $ instance ;
17
21
18
- function __construct ($ baseUrl , $ apiKey )
22
+ /**
23
+ * Connector constructor.
24
+ * @param $baseUrl
25
+ * @param $apiKey
26
+ * @param int $connectionTimeout
27
+ * @param int $timeout
28
+ */
29
+ public function __construct ($ baseUrl , $ apiKey , $ connectionTimeout = 300 , $ timeout = 0 )
19
30
{
20
31
$ this ->baseUrl = $ baseUrl ;
21
32
$ this ->apiKey = $ apiKey ;
33
+ $ this ->connectionTimeout = $ connectionTimeout ;
34
+ $ this ->timeout = $ timeout ;
22
35
}
23
36
24
- public static function getInstance ($ baseUrl , $ apiKey )
37
+ /**
38
+ * @param $baseUrl
39
+ * @param $apiKey
40
+ * @param int $connectionTimeout
41
+ * @param int $timeout
42
+ * @return Connector
43
+ */
44
+ public static function getInstance ($ baseUrl , $ apiKey , $ connectionTimeout = 300 , $ timeout = 0 )
25
45
{
26
46
if (!isset (self ::$ instance )) {
27
- self ::$ instance = new Connector ($ baseUrl , $ apiKey );
47
+ self ::$ instance = new Connector ($ baseUrl , $ apiKey, $ connectionTimeout , $ timeout );
28
48
}
29
49
return self ::$ instance ;
30
50
}
@@ -55,6 +75,8 @@ public function sendRequest(Request $request)
55
75
curl_setopt ($ ch , CURLOPT_HTTPHEADER , $ curlHeaders );
56
76
curl_setopt ($ ch , CURLOPT_SSL_VERIFYPEER , true );
57
77
curl_setopt ($ ch , CURLOPT_SSL_VERIFYHOST , 2 );
78
+ curl_setopt ($ ch , CURLOPT_CONNECTTIMEOUT ,$ this ->connectionTimeout );
79
+ curl_setopt ($ ch , CURLOPT_TIMEOUT , $ this ->timeout );
58
80
if ($ request ->hasContent ()) {
59
81
curl_setopt ($ ch , CURLOPT_POSTFIELDS , $ request ->getContent ());
60
82
}
0 commit comments