More documentation and tests
diff --git a/lib/Kalamar.pm b/lib/Kalamar.pm
index a19a916..58558ff 100644
--- a/lib/Kalamar.pm
+++ b/lib/Kalamar.pm
@@ -18,7 +18,7 @@
# Add additional plugin path
push(@{$self->plugins->namespaces}, __PACKAGE__ . '::Plugin');
- # korap.ids-mannheim.de specific
+ # korap.ids-mannheim.de specific path prefixing
$self->hook(
before_dispatch => sub {
my $c = shift;
@@ -30,6 +30,7 @@
}) if $self->mode eq 'production';
# Cache static assets
+ # (not necessary, as long as shipped by nginx or Apache)
$self->hook(
after_static => sub {
my $res = shift->res;
@@ -40,9 +41,9 @@
# Set secrets for signed cookies
if (-e (my $secret = $self->home . '/kalamar.secret')) {
- $self->secrets([
- b($secret)->slurp->split("\n")
- ]);
+
+ # Load file and split lines for multiple secrets
+ $self->secrets([b($secret)->slurp->split("\n")]);
}
else {
$self->log->warn('Please create a kalamar.secret file');
@@ -55,9 +56,10 @@
'Notifications', # Client notifications
'Search', # Abstract Search framework
'CHI', # Global caching mechanism
+ 'MailException' # Alert via Email on exception
'TagHelpers::Pagination', # Pagination widget
'TagHelpers::MailToChiffre', # Obfuscate email addresses
- 'KalamarHelpers' # Specific Helpers for Kalamar
+ 'KalamarHelpers', # Specific Helpers for Kalamar
) {
$self->plugin($_);
};
@@ -72,10 +74,10 @@
# Establish routes
my $r = $self->routes;
- # Base query page
+ # Base query route
$r->get('/')->to('search#query')->name('index');
- # Documentation
+ # Documentation routes
$r->get('/doc')->to('documentation#page', page => 'korap')->name('doc_start');
$r->get('/doc/:page')->to('documentation#page', scope => undef);
$r->get('/doc/*scope/:page')->to('documentation#page')->name('doc');