. */ namespace SP\Domain\Common\Providers; use SP\Domain\Config\Ports\ConfigDataInterface; use SP\Domain\Http\Ports\RequestService; /** * Class Http */ final class Http { /** * Comprobar y forzar (si es necesario) la conexión HTTPS */ public static function checkHttps(ConfigDataInterface $configData, RequestService $request): void { if ($configData->isHttpsEnabled() && !$request->isHttps()) { $serverPort = $request->getServerPort(); $port = $serverPort !== 443 ? ':'.$serverPort : ''; $host = str_replace('http', 'https', $request->getHttpHost()); header( sprintf( 'Location: %s%s%s', $host, $port, $_SERVER['REQUEST_URI'] ) ); } } }