nextHandler = $nextHandler; } public function __invoke(\DeliciousBrains\WP_Offload_Media\Aws3\Aws\CommandInterface $command, \DeliciousBrains\WP_Offload_Media\Aws3\Psr\Http\Message\RequestInterface $request = null) { $next = $this->nextHandler; return $next($command, $request)->then(function (\DeliciousBrains\WP_Offload_Media\Aws3\Aws\ResultInterface $result) use($command) { $status = isset($result['@metadata']['statusCode']) ? $result['@metadata']['statusCode'] : null; if ($status == 301) { throw new \DeliciousBrains\WP_Offload_Media\Aws3\Aws\S3\Exception\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; }); } }