/home/techb158/immovalet.com/vendor/aws/aws-sdk-php/src/S3Control
Edit: /home/techb158/immovalet.com/vendor/aws/aws-sdk-php/src/S3Control/S3ControlEndpointMiddleware.php (2373B)
dualStackByDefault = isset($options['dual_stack'])
? (bool) $options['dual_stack'] : false;
$this->region = (string) $region;
$this->nextHandler = $nextHandler;
}
public function __invoke(CommandInterface $command, RequestInterface $request)
{
if ($this->isDualStackRequest($command, $request)) {
$request = $this->applyDualStackEndpoint($command, $request);
}
$nextHandler = $this->nextHandler;
return $nextHandler($command, $request);
}
private function isDualStackRequest(
CommandInterface $command,
RequestInterface $request
) {
return isset($command['@use_dual_stack_endpoint'])
? $command['@use_dual_stack_endpoint'] : $this->dualStackByDefault;
}
private function getDualStackHost($host)
{
$parts = explode(".{$this->region}.", $host);
return $parts[0] . ".dualstack.{$this->region}." . $parts[1];
}
private function applyDualStackEndpoint(
CommandInterface $command,
RequestInterface $request
) {
$uri = $request->getUri();
return $request->withUri(
$uri->withHost($this->getDualStackHost(
$uri->getHost()
))
);
}
}