ok
Direktori : /home2/selectio/www/myclassicfit.com/vendor/aws/aws-sdk-php/src/S3/ |
Current File : /home2/selectio/www/myclassicfit.com/vendor/aws/aws-sdk-php/src/S3/PutObjectUrlMiddleware.php |
<?php namespace Aws\S3; use Aws\CommandInterface; use Aws\ResultInterface; use Psr\Http\Message\RequestInterface; /** * Injects ObjectURL into the result of the PutObject operation. * * @internal */ class PutObjectUrlMiddleware { /** @var callable */ private $nextHandler; /** * Create a middleware wrapper function. * * @return callable */ public static function wrap() { return function (callable $handler) { return new self($handler); }; } /** * @param callable $nextHandler Next handler to invoke. */ public function __construct(callable $nextHandler) { $this->nextHandler = $nextHandler; } public function __invoke(CommandInterface $command, RequestInterface $request = null) { $next = $this->nextHandler; return $next($command, $request)->then( function (ResultInterface $result) use ($command) { $name = $command->getName(); switch ($name) { case 'PutObject': case 'CopyObject': $result['ObjectURL'] = isset($result['@metadata']['effectiveUri']) ? $result['@metadata']['effectiveUri'] : null; break; case 'CompleteMultipartUpload': $result['ObjectURL'] = $result['Location']; break; } return $result; } ); } }