REDROOM
PHP 7.4.33
Path:
Logout
Edit File
Size: 3.58 KB
Close
/home/godevadmin/www/admin/vendor/aws/Aws/EventBridge/EventBridgeEndpointMiddleware.php
Text
Base64
<?php namespace Aws\EventBridge; use Aws\CommandInterface; use Aws\Endpoint\EndpointProvider; use Aws\Endpoint\PartitionEndpointProvider; use InvalidArgumentException; use Psr\Http\Message\RequestInterface; /** * Reroutes an eventbridge request to the proper endpoint * @internal */ class EventBridgeEndpointMiddleware { private $nextHandler; private $region; private $config; private $endpointProvider; private $isCustomEndpoint; /** * Provide the URI scheme of the client sending requests. * @param EndpointProvider $endpointProvider * @return callable */ public static function wrap($region, $config, $endpointProvider, $isCustomEndpoint) { return function (callable $handler) use ( $region, $config, $endpointProvider, $isCustomEndpoint ) { return new self( $handler, $region, $config, $endpointProvider, $isCustomEndpoint ); }; } public function __construct( callable $nextHandler, $region, $config, $endpointProvider, $isCustomEndpoint ) { $this->nextHandler = $nextHandler; $this->region = $region; $this->config = $config; $this->endpointProvider = is_null($endpointProvider) ? PartitionEndpointProvider::defaultProvider() : $endpointProvider; $this->isCustomEndpoint = $isCustomEndpoint; } public function __invoke(CommandInterface $cmd, RequestInterface $req) { $sigV4aCommands = ['PutEvents']; if (in_array($cmd->getName(), $sigV4aCommands)) { if (isset($cmd['EndpointId'])) { $endpointID = $cmd['EndpointId']; $this->validateEndpointId($endpointID); if (!$this->isCustomEndpoint) { $dnsSuffix = $this->endpointProvider ->getPartition($this->region, 'eventbridge') ->getDnsSuffix(); $newUri = "{$endpointID}.endpoint.events.{$dnsSuffix}"; $oldUri = $req->getUri(); $req = $req->withUri($oldUri->withHost($newUri)); } $cmd['@context']['signature_version'] = 'v4a'; } } $f = $this->nextHandler; return $f($cmd, $req); } protected static function isValidHostLabel($string) { if (empty($string) || strlen($string) > 63) { return false; } if ($value = preg_match("/^[a-zA-Z0-9-.]+$/", $string)) { return true; } return false; } /** * @param $endpointID * @param CommandInterface $cmd */ private function validateEndpointId($endpointID) { if (empty($endpointID)) { throw new \InvalidArgumentException("EventId must be a non-empty string"); } if (!self::isValidHostLabel($endpointID)) { throw new InvalidArgumentException("EventId must be a valid host"); } if ($this->config['use_fips_endpoint']) { throw new InvalidArgumentException( "EventId is currently not compatible with FIPS pseudo regions" ); } if ($this->config['dual_stack']) { throw new InvalidArgumentException( "EventId is currently not compatible with dualstack" ); } } }
Save
Close
Exit & Reset
Text mode: syntax highlighting auto-detects file type.
Directory Contents
Dirs: 1 × Files: 2
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
Exception
DIR
-
drwxrwxr-x
2024-06-18 20:10:18
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
EventBridgeClient.php
8.52 KB
lrwxrwxr-x
2024-06-18 20:10:18
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
EventBridgeEndpointMiddleware.php
3.58 KB
lrwxrwxr-x
2024-06-18 20:10:18
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).