* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) * @copyright PayPal */ namespace PaypalAddons\classes\Webhook; use PaypalAddons\classes\API\Response\Error; use PaypalAddons\classes\API\Response\Response; use PaypalAddons\classes\Constants\WebhookHandler; class WebhookAvailability { /** * @return Response */ public function check() { $response = new Response(); $curl = curl_init((new WebhookHandlerUrl())->getCheckAvailabilityUrl()); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2); curl_setopt($curl, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1_2); curl_exec($curl); $info = curl_getinfo($curl); if ($info['http_code'] == WebhookHandler::STATUS_AVAILABLE) { return $response->setSuccess(true); } if ($errorMsg = curl_error($curl)) { $error = new Error(); $error->setMessage($errorMsg); $response->setError($error); } return $response->setSuccess(false); } }