Add cache to avoid parsing and compiling JSON files at each request (#1595)

This commit is contained in:
Xavier 2019-03-26 06:49:39 +01:00
parent 81c88216b0
commit 774707ad65

View File

@ -17,6 +17,8 @@ use strict;
use URI::Escape;
use JSON;
has trOverCache => ( is => 'rw', default => sub { {} } );
# List constants
sub authProcess { qw(extractFormInfo getUser authenticate) }
@ -749,6 +751,7 @@ sub sendHtml {
# Override messages
my $trOverMessages = JSON::from_json( $self->trOver );
unless ( $self->trOverCache->{$templateDir} ) {
opendir( DIR, $templateDir );
my @langfiles = grep( /\.json$/, readdir(DIR) );
close(DIR);
@ -765,7 +768,9 @@ sub sendHtml {
}
}
$args{params}->{TROVER} = JSON::to_json($trOverMessages);
$self->trOverCache->{$templateDir} = JSON::to_json($trOverMessages);
}
$args{params}->{TROVER} = $self->trOverCache->{$templateDir};
my $res = $self->SUPER::sendHtml( $req, $template, %args );
push @{ $res->[1] },