. /** * Method of sending data. * * @package local_webhooks * @copyright 2017 "Valentin Popov" * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ namespace local_webhooks; defined("MOODLE_INTERNAL") || die(); /** * Wrapper over cURL. * * @copyright 2017 "Valentin Popov" * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class curl { /** * The class constructor. */ public function __construct() { if (!function_exists("curl_init")) { print_error("nocurl", "mnet"); } } /** * Easy data sending. * * @param object $callback * @param string $data */ public static function request($callback, $data) { $ch = curl_init($callback->url); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array( "Content-Type: application/$callback->type", "Content-Length: " . mb_strlen($data, "UTF-8") ) ); $result = curl_exec($ch); curl_close($ch); return $result; } }