Default to secure (https) urls

This commit is contained in:
Timothy Warren 2018-10-11 09:53:14 -04:00
parent 86c311dddf
commit 0bbc4fe4fb
5 changed files with 21 additions and 10 deletions

View File

@ -30,7 +30,7 @@ return array_merge($tomlConfig, [
'asset_dir' => "{$ROOT_DIR}/public",
'base_config_dir' => __DIR__,
'config_dir' => "{$APP_DIR}/config",
// No config defaults
'kitsu_username' => 'timw4mail',
'whose_list' => 'Someone',
@ -38,6 +38,7 @@ return array_merge($tomlConfig, [
'connection' => [],
'driver' => 'null',
],
'secure_urls' => TRUE,
// Routing defaults
'asset_path' => '/public',

View File

@ -23,4 +23,14 @@ default_list = "anime" # anime or manga
# Default pages for anime/manga
default_anime_list_path = "watching" # watching|plan_to_watch|on_hold|dropped|completed|all
default_manga_list_path = "reading" # reading|plan_to_read|on_hold|dropped|completed|all
default_manga_list_path = "reading" # reading|plan_to_read|on_hold|dropped|completed|all
################################################################################
# Not on Settings Page
#
# These settings are not available to change on the settings page
################################################################################
# Use HTTPs for URLs
# It is not recommended to change this setting
secure_urls = true

View File

@ -29,6 +29,7 @@ class Config extends AbstractType {
public $default_manga_list_path;
public $default_view_type;
public $kitsu_username;
public $secure_urls = TRUE;
public $show_anime_collection;
public $show_manga_collection;
public $whose_list;

View File

@ -34,19 +34,20 @@ class UrlGenerator extends RoutingBase {
* Constructor
*
* @param ContainerInterface $container
* @throws \Aviat\Ion\Di\ContainerException
* @throws \Aviat\Ion\Di\NotFoundException
* @throws \Aviat\Ion\Di\Exception\ContainerException
* @throws \Aviat\Ion\Di\Exception\NotFoundException
*/
public function __construct(ContainerInterface $container)
{
parent::__construct($container);
$this->host = $container->get('request')->getServerParams()['HTTP_HOST'];
}
/**
* Get the base url for css/js/images
*
* @param string[] ...$args
* @param string ...$args
* @return string
*/
public function assetUrl(string ...$args): string
@ -88,9 +89,7 @@ class UrlGenerator extends RoutingBase {
}
$path = implode('/', $path_segments);
$isHttps = $_SERVER['SERVER_PORT'] === '443' || isset($_SERVER['HTTPS']);
$scheme = ($isHttps) ? 'https:' : 'http:';
$scheme = $this->config->get('secure_urls') !== FALSE ? 'https:' : 'http:';
return "{$scheme}//{$this->host}/{$path}";
}

View File

@ -28,13 +28,13 @@ class UrlGeneratorTest extends AnimeClientTestCase {
'args' => [
'images'
],
'expected' => 'http://localhost/assets/images',
'expected' => 'https://localhost/assets/images',
],
'multiple arguments' => [
'args' => [
'images', 'anime', 'foo.png'
],
'expected' => 'http://localhost/assets/images/anime/foo.png'
'expected' => 'https://localhost/assets/images/anime/foo.png'
]
];
}