?
Current Path : /home1/savoy/public_html/wp-content/plugins/wordfence/lib/ |
Linux gator3171.hostgator.com 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64 |
Current File : /home1/savoy/public_html/wp-content/plugins/wordfence/lib/wfCurlInterceptor.php |
<?php class wfCurlInterceptionFailedException extends RuntimeException { } class wfCurlInterceptor { const HOOK_NAME = 'http_api_curl'; private $handle = null; private $options = array(); private $requireInterception; public function __construct($requireInterception = true) { $this->requireInterception = $requireInterception; } private function reset() { $this->handle = null; } public function setOption($option, $value) { $this->options[$option] = $value; } public function getHandle() { return $this->handle; } public function handleHook($handle) { $this->handle = $handle; curl_setopt_array($handle, $this->options); } public function intercept($callable) { $this->reset(); $action = array($this, 'handleHook'); add_action(self::HOOK_NAME, $action); $result = $callable(); if ($this->handle === null && $this->requireInterception) throw new wfCurlInterceptionFailedException('Hook was not invoked with a valid cURL handle'); remove_action(self::HOOK_NAME, $action); return $result; } }