parser = $parser; } public function __invoke( CommandInterface $command, ResponseInterface $response ) { $fn = $this->parser; $result = $fn($command, $response); if ($command->getName() === 'GetBucketLocation') { $location = 'us-east-1'; if (preg_match('/>(.+?)<\/LocationConstraint>/', $response->getBody(), $matches)) { $location = $matches[1] === 'EU' ? 'eu-west-1' : $matches[1]; } $result['LocationConstraint'] = $location; } return $result; } public function parseMemberFromStream( StreamInterface $stream, StructureShape $member, $response ) { return $this->parser->parseMemberFromStream($stream, $member, $response); } }