����JFIF��x�x����'
Server IP : 78.140.185.180 / Your IP : 3.136.20.207 Web Server : LiteSpeed System : Linux cpanel13.v.fozzy.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64 User : builderbox ( 1072) PHP Version : 7.3.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/builderbox/www/vendor/guzzle/guzzle/src/Guzzle/Plugin/ErrorResponse/ |
Upload File : |
<?php namespace Guzzle\Plugin\ErrorResponse; use Guzzle\Common\Event; use Guzzle\Http\Message\RequestInterface; use Guzzle\Service\Command\CommandInterface; use Guzzle\Service\Description\Operation; use Guzzle\Plugin\ErrorResponse\Exception\ErrorResponseException; use Symfony\Component\EventDispatcher\EventSubscriberInterface; /** * Converts generic Guzzle response exceptions into errorResponse exceptions */ class ErrorResponsePlugin implements EventSubscriberInterface { public static function getSubscribedEvents() { return array('command.before_send' => array('onCommandBeforeSend', -1)); } /** * Adds a listener to requests before they sent from a command * * @param Event $event Event emitted */ public function onCommandBeforeSend(Event $event) { $command = $event['command']; if ($operation = $command->getOperation()) { if ($operation->getErrorResponses()) { $request = $command->getRequest(); $request->getEventDispatcher() ->addListener('request.complete', $this->getErrorClosure($request, $command, $operation)); } } } /** * @param RequestInterface $request Request that received an error * @param CommandInterface $command Command that created the request * @param Operation $operation Operation that defines the request and errors * * @return \Closure Returns a closure * @throws ErrorResponseException */ protected function getErrorClosure(RequestInterface $request, CommandInterface $command, Operation $operation) { return function (Event $event) use ($request, $command, $operation) { $response = $event['response']; foreach ($operation->getErrorResponses() as $error) { if (!isset($error['class'])) { continue; } if (isset($error['code']) && $response->getStatusCode() != $error['code']) { continue; } if (isset($error['reason']) && $response->getReasonPhrase() != $error['reason']) { continue; } $className = $error['class']; $errorClassInterface = __NAMESPACE__ . '\\ErrorResponseExceptionInterface'; if (!class_exists($className)) { throw new ErrorResponseException("{$className} does not exist"); } elseif (!is_subclass_of($className, $errorClassInterface)) { throw new ErrorResponseException("{$className} must implement {$errorClassInterface}"); } throw $className::fromCommand($command, $response); } }; } }