[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: Factory.php
<?php /** * Vonage Client Library for PHP * * @copyright Copyright (c) 2016-2022 Vonage, Inc. (http://vonage.com) * @license https://github.com/Vonage/vonage-php-sdk-core/blob/master/LICENSE.txt Apache License 2.0 */ declare(strict_types=1); namespace Vonage\Webhook; use Laminas\Diactoros\ServerRequestFactory; use Psr\Http\Message\ServerRequestInterface; use RuntimeException; use function is_null; use function json_decode; use function parse_str; abstract class Factory { abstract public static function createFromArray(array $data); public static function createFromJson(string $json) { $data = json_decode($json, true); if (is_null($data)) { throw new RuntimeException("Invalid JSON string detected for webhook transformation"); } return static::createFromArray($data); } public static function createFromGlobals() { $request = ServerRequestFactory::fromGlobals(); return static::createFromRequest($request); } public static function createFromRequest(ServerRequestInterface $request) { $params = []; switch ($request->getMethod()) { case 'GET': $params = $request->getQueryParams(); // Fix "null" values coming in from GET requests foreach ($params as $key => $value) { if ($value === 'null') { $params[$key] = null; } } break; case 'POST': $type = $request->getHeader('content-type'); if (!isset($type[0]) || $type[0] === 'application/json') { $params = json_decode($request->getBody()->getContents(), true); } else { parse_str($request->getBody()->getContents(), $params); // Fix "null" values coming in from URL encoded requests foreach ($params as $key => $value) { if ($value === 'null') { $params[$key] = null; } } } break; default: throw new RuntimeException("Invalid method for incoming webhook"); } return static::createFromArray($params); } }
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: server1.winmanyltd.com
Server IP: 203.161.60.52
PHP Version: 8.3.27
Server Software: Apache
System: Linux server1.winmanyltd.com 4.18.0-553.22.1.el8_10.x86_64 #1 SMP Tue Sep 24 05:16:59 EDT 2024 x86_64
HDD Total: 117.98 GB
HDD Free: 59.79 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
Yes
pkexec:
Yes
git:
Yes
User Info
Username: eliosofonline
User ID (UID): 1002
Group ID (GID): 1003
Script Owner UID: 1002
Current Dir Owner: 1002