Dancer2
view release on metacpan or search on metacpan
lib/Dancer2/ConfigReader.pm view on Meta::CPAN
# ABSTRACT: Config reader for Dancer2 App
package Dancer2::ConfigReader;
$Dancer2::ConfigReader::VERSION = '2.1.0';
use Moo;
use Config::Any;
use Hash::Merge::Simple;
use Carp 'croak';
use Module::Runtime qw{ use_module };
use Ref::Util qw/ is_arrayref is_hashref /;
use Scalar::Util qw/ blessed /;
use Path::Tiny ();
use Dancer2::Core::Factory;
use Dancer2::Core;
use Dancer2::Core::Types;
use Dancer2::ConfigUtils 'normalize_config_entry';
our $MAX_CONFIGS = $ENV{DANCER_MAX_CONFIGS} || 100;
my %KNOWN_CORE_KEYS = map +( $_ => 1 ), qw(
additional_config_readers
appdir
apphandler
appname
auto_page
behind_proxy
charset
content_type
default_mime_type
engines
environment
error_template
host
layout
layout_dir
log
logger
no_default_middleware
no_server_tokens
plugins
port
public_dir
route_handlers
serializer
session
show_errors
show_stacktrace
startup_info
static_handler
template
timeout
traces
type_library
views
strict_config
strict_config_allow
);
my %KNOWN_ENGINE_CONFIG = (
'logger' => {
'base_keys' => {
'app_name' => 1,
'auto_encoding_charset' => 1,
'log_format' => 1,
'log_level' => 1,
},
'engines' => {
'capture' => { keys => {} },
'console' => { keys => {} },
( run in 0.704 second using v1.01-cache-2.11-cpan-39bf76dae61 )