mirror of
https://github.com/SociallyDev/Spaces-API.git
synced 2025-08-19 21:03:44 -07:00
spaces.php
This commit is contained in:
parent
7755490b81
commit
eefa32741e
845 changed files with 50409 additions and 0 deletions
62
aws/Aws/S3/PermanentRedirectMiddleware.php
Normal file
62
aws/Aws/S3/PermanentRedirectMiddleware.php
Normal file
|
@ -0,0 +1,62 @@
|
|||
<?php
|
||||
namespace Aws\S3;
|
||||
|
||||
use Aws\CommandInterface;
|
||||
use Aws\ResultInterface;
|
||||
use Aws\S3\Exception\PermanentRedirectException;
|
||||
use Psr\Http\Message\RequestInterface;
|
||||
|
||||
/**
|
||||
* Throws a PermanentRedirectException exception when a 301 redirect is
|
||||
* encountered.
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
class PermanentRedirectMiddleware
|
||||
{
|
||||
/** @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) {
|
||||
$status = isset($result['@metadata']['statusCode'])
|
||||
? $result['@metadata']['statusCode']
|
||||
: null;
|
||||
if ($status == 301) {
|
||||
throw new PermanentRedirectException(
|
||||
'Encountered a permanent redirect while requesting '
|
||||
. $result->search('"@metadata".effectiveUri') . '. '
|
||||
. 'Are you sure you are using the correct region for '
|
||||
. 'this bucket?',
|
||||
$command,
|
||||
['result' => $result]
|
||||
);
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue