From e9dd75e5eaf8c79ea86cd53058d0ed5022ead448 Mon Sep 17 00:00:00 2001 From: Guillaume Rousse <guillaume.rousse@renater.fr> Date: Thu, 26 Jul 2018 15:41:44 +0200 Subject: [PATCH] load barely used modules dynamically --- lib/AccountManager/App.pm | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/lib/AccountManager/App.pm b/lib/AccountManager/App.pm index dac6a93..3779ca8 100644 --- a/lib/AccountManager/App.pm +++ b/lib/AccountManager/App.pm @@ -4,15 +4,11 @@ use strict; use warnings; use CGI; -use DateTime; use English qw(-no_match_vars); -use Encode; use Log::Any::Adapter; use List::MoreUtils qw(uniq); -use MIME::Lite; use Template; use Template::Constants qw(:chomp); -use Text::CSV; use AccountManager::Account; use AccountManager::Account::Manager; @@ -553,6 +549,7 @@ sub req_complete_challenge { } # compute a new token + eval "require DateTime"; my $validity_period = $self->{configuration}->{service}->{tokens_validity_period}; my $token = AccountManager::Token->new( @@ -605,10 +602,13 @@ sub req_complete_challenge { $tt2->process('send_authentication_token.tt2.html', $data, \$html_content); # wrap in message + eval "require MIME::Lite"; + eval "require Encode"; + my $message = MIME::Lite->new( From => sprintf('eduGAIN Access Check <%s>', $self->{configuration}->{mailer}->{from}), To => $self->{in}->{email}, - Subject => encode("MIME-Header", sprintf('[eduGAIN Access Check] %s', $self->{lh}->maketext("Test accounts request"))), + Subject => Encode::encode("MIME-Header", sprintf('[eduGAIN Access Check] %s', $self->{lh}->maketext("Test accounts request"))), Type => 'multipart/alternative', ); $message->attach( @@ -737,7 +737,7 @@ sub req_create_accounts { $self->{configuration}->{$entity}->{account_validity_period} || $self->{configuration}->{service}->{account_validity_period}; - + eval "require DateTime"; my $download_token = AccountManager::Token->new( db => $self->{db}, email_address => $self->{in}->{email}, @@ -923,6 +923,7 @@ sub req_download_accounts { -content_disposition => 'attachment; filename="accounts.csv"' ); + eval "require Text::CSV"; my $csv = Text::CSV->new ({ binary => 1, eol => "\r\n", quote_space => 0 }); $csv->print(\*STDOUT, [ qw/ username -- GitLab