summaryrefslogtreecommitdiff
path: root/lib/Travel/Status/DE/EFA.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Travel/Status/DE/EFA.pm')
-rw-r--r--lib/Travel/Status/DE/EFA.pm11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/Travel/Status/DE/EFA.pm b/lib/Travel/Status/DE/EFA.pm
index 25754f7..6d3e92c 100644
--- a/lib/Travel/Status/DE/EFA.pm
+++ b/lib/Travel/Status/DE/EFA.pm
@@ -11,6 +11,7 @@ use Carp qw(confess cluck);
use DateTime;
use DateTime::Format::Strptime;
use Encode qw(encode);
+use IO::Socket::SSL;
use JSON;
use Travel::Status::DE::EFA::Departure;
use Travel::Status::DE::EFA::Info;
@@ -66,6 +67,7 @@ sub new_p {
sub new {
my ( $class, %opt ) = @_;
+ my $tls_insecure = 0;
$opt{timeout} //= 10;
if ( $opt{timeout} <= 0 ) {
delete $opt{timeout};
@@ -105,6 +107,9 @@ sub new {
$opt{efa_url} .= '/XML_DM_REQUEST';
}
$opt{time_zone} //= $service->{time_zone};
+ if ( not $service->{tls_verify} ) {
+ $tls_insecure = 1;
+ }
}
}
@@ -248,6 +253,12 @@ sub new {
}
else {
my %lwp_options = %{ $opt{lwp_options} // { timeout => 10 } };
+ if ($tls_insecure) {
+ $lwp_options{ssl_opts}{SSL_verify_mode}
+ = IO::Socket::SSL::SSL_VERIFY_NONE;
+ $lwp_options{ssl_opts}{verify_hostname} = 0;
+ }
+
$self->{ua} = LWP::UserAgent->new(%lwp_options);
$self->{ua}->env_proxy;
}