From 5ebaaa8e58bae77f9b769821b487ec3f5312e22f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pavel=20B=C5=99ou=C5=A1ek?= <brousek@ics.muni.cz> Date: Wed, 4 May 2022 11:44:57 +0200 Subject: [PATCH] feat: timeout and connectTimeout options --- src/PrivacyIDEA.php | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/PrivacyIDEA.php b/src/PrivacyIDEA.php index c0be33a..a2c9ac6 100644 --- a/src/PrivacyIDEA.php +++ b/src/PrivacyIDEA.php @@ -42,6 +42,16 @@ class PrivacyIDEA */ public $sslVerifyPeer = true; + /** + * @var int cURL connect timeout in seconds + */ + public $connectTimeout = 0; + + /** + * @var int cURL timeout in seconds + */ + public $timeout; + /** * @var string Account name for a service account to the privacyIDEA server. This is required to use the /validate/triggerchallenge endpoint. */ @@ -391,6 +401,10 @@ class PrivacyIDEA $completeUrl = $this->serverURL . $endpoint; $curlInstance = curl_init(); + curl_setopt($curlInstance, CURLOPT_CONNECTTIMEOUT, $this->connectTimeout); + if (null !== $this->timeout) { + curl_setopt($curlInstance, CURLOPT_TIMEOUT, $this->timeout); + } curl_setopt($curlInstance, CURLOPT_URL, $completeUrl); curl_setopt($curlInstance, CURLOPT_HEADER, true); if ($headers) { -- GitLab