postURL() public static method

POSTs data to an URL
public static postURL ( $page, array | string $args, integer $timeout = 10, array $extraHeaders = [] ) : boolean | mixed
$page
$args array | string
$timeout integer
$extraHeaders array
return boolean | mixed
 public function onRun()
 {
     try {
         Utils::postURL($this->endpoint, $this->data, 5, ["Content-Type: application/json", "Content-Length: " . strlen($this->data)]);
     } catch (\Exception $e) {
     }
 }
 public function directPush($token, $title, $message, $reciever)
 {
     /**
      * Directly sends a push to the server using POST.
      * It's seriously recommended to use the sendPush() method,
      * as this is not Async and can cause delays.
      * 
      * Use this method only if nessessary.
      * This method also returns the full Push object.
      * 
      * @param $token User api token
      * @param $title Title
      * @param $message Message
      * @param $reciever String
      * @return Push object
      * */
     return Utils::postURL($this->url, array("type" => "sendPush", "data" => json_encode(array("access_token" => $token, "title" => $title, "message" => $message, "reciever" => $reciever))));
 }
Example #3
0
 public function crashDump()
 {
     if ($this->isRunning === false) {
         return;
     }
     if ($this->sendUsageTicker > 0) {
         $this->sendUsage(SendUsageTask::TYPE_CLOSE);
     }
     $this->hasStopped = false;
     ini_set("error_reporting", 0);
     ini_set("memory_limit", -1);
     //Fix error dump not dumped on memory problems
     $this->logger->emergency($this->getLanguage()->translateString("pocketmine.crash.create"));
     try {
         $dump = new CrashDump($this);
     } catch (\Exception $e) {
         $this->logger->critical($this->getLanguage()->translateString("pocketmine.crash.error", $e->getMessage()));
         return;
     }
     $this->logger->emergency($this->getLanguage()->translateString("pocketmine.crash.submit", [$dump->getPath()]));
     if ($this->getProperty("auto-report.enabled", true) !== false) {
         $report = true;
         $plugin = $dump->getData()["plugin"];
         if (is_string($plugin)) {
             $p = $this->pluginManager->getPlugin($plugin);
             if ($p instanceof Plugin and !$p->getPluginLoader() instanceof PharPluginLoader) {
                 $report = false;
             }
         } elseif (\Phar::running(true) == "") {
             $report = false;
         }
         if ($dump->getData()["error"]["type"] === "E_PARSE" or $dump->getData()["error"]["type"] === "E_COMPILE_ERROR") {
             $report = false;
         }
         if ($report) {
             $reply = Utils::postURL("http://" . $this->getProperty("auto-report.host", "crash.pocketmine.net") . "/submit/api", ["report" => "yes", "name" => $this->getName() . " " . $this->getPocketMineVersion(), "email" => "*****@*****.**", "reportPaste" => base64_encode($dump->getEncodedData())]);
             if (($data = json_decode($reply)) !== false and isset($data->crashId)) {
                 $reportId = $data->crashId;
                 $reportUrl = $data->crashUrl;
                 $this->logger->emergency($this->getLanguage()->translateString("pocketmine.crash.archive", [$reportUrl, $reportId]));
             }
         }
     }
     //$this->checkMemory();
     //$dump .= "Memory Usage Tracking: \r\n" . chunk_split(base64_encode(gzdeflate(implode(";", $this->memoryStats), 9))) . "\r\n";
     $this->forceShutdown();
     $this->isRunning = false;
     @kill(getmypid());
     exit(1);
 }
Example #4
0
 public function crashDump()
 {
     if ($this->isRunning === false) {
         return;
     }
     $this->isRunning = false;
     $this->hasStopped = false;
     ini_set("error_reporting", 0);
     ini_set("memory_limit", -1);
     //Fix error dump not dumped on memory problems
     $this->logger->emergency("An unrecoverable error has occurred and the server has crashed. Creating a crash dump");
     try {
         $dump = new CrashDump($this);
     } catch (\Exception $e) {
         $this->logger->critical("Could not create Crash Dump: " . $e->getMessage());
         return;
     }
     $this->logger->emergency("Please submit the \"" . $dump->getPath() . "\" file to the Bug Reporting page. Give as much info as you can.");
     if ($this->getProperty("auto-report.enabled", true) !== false) {
         $report = true;
         $plugin = $dump->getData()["plugin"];
         if (is_string($plugin)) {
             $p = $this->pluginManager->getPlugin($plugin);
             if ($p instanceof Plugin and !$p->getPluginLoader() instanceof PharPluginLoader) {
                 $report = false;
             }
         } elseif (\Phar::running(true) == "") {
             $report = false;
         }
         if ($dump->getData()["error"]["type"] === "E_PARSE" or $dump->getData()["error"]["type"] === "E_COMPILE_ERROR") {
             $report = false;
         }
         if ($report) {
             $reply = Utils::postURL("http://" . $this->getProperty("auto-report.host", "crash.pocketmine.net") . "/submit/api", ["report" => "yes", "name" => $this->getName() . " " . $this->getPocketMineVersion(), "email" => "*****@*****.**", "reportPaste" => base64_encode($dump->getEncodedData())]);
             if (($data = json_decode($reply)) !== false and isset($data->crashId)) {
                 $reportId = $data->crashId;
                 $reportUrl = $data->crashUrl;
                 $this->logger->emergency("The crash dump has been automatically submitted to the Crash Archive. You can view it on {$reportUrl} or use the ID #{$reportId}.");
             }
         }
     }
     //$this->checkMemory();
     //$dump .= "Memory Usage Tracking: \r\n" . chunk_split(base64_encode(gzdeflate(implode(";", $this->memoryStats), 9))) . "\r\n";
     $this->forceShutdown();
     @kill(getmypid());
     exit(1);
 }
Example #5
0
 public function onRun()
 {
     Utils::postURL($this->endpoint, unserialize($this->data));
 }
 public function onRun()
 {
     Utils::postURL($this->url, $this->postData, 10, $this->headers);
 }
 public function onRun()
 {
     Utils::postURL($this->webserver, json_decode($this->data, true));
 }
 public function onRun()
 {
     Utils::postURL(Credentials::IRC_WEBHOOK_NOPREFIX . urlencode($this->msg), ["payload" => $this->msg]);
 }
Example #9
0
 public function onDisable()
 {
     // AsyncTask doesn't work during disables, so the sendData() method is useless.
     // Send using origin method.
     Utils::postURL($this->webserver, array("request" => "SimpleOfflineGlifcos"));
 }
 public function onRun()
 {
     \pocketmine\utils\Utils::postURL($this->endpoint, \unserialize($this->data));
 }