File: /home/slfopp7cb1df/public_html/sitepacket.com/system/system/Filters/ForceHTTPS.php
<?php
declare(strict_types=1);
/**
* This file is part of CodeIgniter 4 framework.
*
* (c) CodeIgniter Foundation <admin@codeigniter.com>
*
* For the full copyright and license information, please view
* the LICENSE file that was distributed with this source code.
*/
namespace CodeIgniter\Filters;
use CodeIgniter\HTTP\Exceptions\RedirectException;
use CodeIgniter\HTTP\RequestInterface;
use CodeIgniter\HTTP\ResponseInterface;
use Config\App;
/**
* Force HTTPS filter
*/
class ForceHTTPS implements FilterInterface
{
/**
* Force Secure Site Access? If the config value 'forceGlobalSecureRequests'
* is true, will enforce that all requests to this site are made through
* HTTPS. Will redirect the user to the current page with HTTPS, as well
* as set the HTTP Strict Transport Security (HSTS) header for those browsers
* that support it.
*
* @param array|null $arguments
*
* @return ResponseInterface|null
*/
public function before(RequestInterface $request, $arguments = null)
{
$config = config(App::class);
if ($config->forceGlobalSecureRequests !== true) {
return null;
}
$response = service('response');
try {
force_https(YEAR, $request, $response);
} catch (RedirectException $e) {
return $e->getResponse();
}
return null;
}
/**
* We don't have anything to do here.
*
* @param array|null $arguments
*/
public function after(RequestInterface $request, ResponseInterface $response, $arguments = null)
{
return null;
}
}