From 065426b0263a842be5b6a9276ecaae88e0353c9d Mon Sep 17 00:00:00 2001 From: Valentin Popov Date: Thu, 26 Oct 2017 11:07:01 +0400 Subject: Refactoring of data sending --- classes/curl.php | 67 ------------------------------------------------------ classes/events.php | 31 ++++++++++++------------- 2 files changed, 15 insertions(+), 83 deletions(-) delete mode 100644 classes/curl.php (limited to 'classes') diff --git a/classes/curl.php b/classes/curl.php deleted file mode 100644 index 4861e2e..0000000 --- a/classes/curl.php +++ /dev/null @@ -1,67 +0,0 @@ -. - -/** - * 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; - } -} \ No newline at end of file diff --git a/classes/events.php b/classes/events.php index 6740490..46151e5 100644 --- a/classes/events.php +++ b/classes/events.php @@ -15,17 +15,21 @@ // along with Moodle. If not, see . /** - * The event handler. - * - * @package local_webhooks - * @copyright 2017 "Valentin Popov" - * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later - */ +* The event handler. +* +* @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(); +require_once($CFG->libdir . "/filelib.php"); + +use curl; + /** * Defines how to work with events. * @@ -96,17 +100,12 @@ class events { * @param object $callback */ private static function send($data, $callback) { + $package = json_encode($data); + $curl = new curl(); - $package = self::packup($data); - $curl::request($callback, $package); - } + $curl->setHeader(array("Content-Type: application/$callback->type")); + $curl->post($callback->url, $package); - /** - * Packs the data for transmission. - * - * @param array $data - */ - private static function packup($data) { - return json_encode($data); + return $curl->getResponse(); } } \ No newline at end of file -- cgit v1.2.3