From 702002d7d9dae38e7ae375dafefa20ae0f865a16 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Thu, 30 Apr 2015 13:37:22 +0200 Subject: EFA, efa-m: Add timeout parameter --- Changelog | 1 + bin/efa-m | 5 +++-- lib/Travel/Status/DE/EFA.pm | 10 ++++++++++ 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/Changelog b/Changelog index 0170470..53a725f 100644 --- a/Changelog +++ b/Changelog @@ -1,6 +1,7 @@ git HEAD * EFA: Fix crash when ->results is called after a network error occured + * EFA: Add timeout parameter to constructor (default: 10 seconds) * efa-m: Add --timeeout option Travel::Status::DE::VRR 1.08 - Mon Mar 03 2014 diff --git a/bin/efa-m b/bin/efa-m index 896dad1..040026f 100755 --- a/bin/efa-m +++ b/bin/efa-m @@ -57,7 +57,7 @@ my $status = Travel::Status::DE::EFA->new( name => $input, time => $time, type => $input_type, - timeout => $timeout // 10, + timeout => $timeout, ); sub show_help { @@ -252,7 +252,8 @@ than others. See Travel::Status::DE::EFA(3pm) for alternatives. =item B<--timeout> I -Set timeout for HTTP requests. Default: 10 seconds. +Set timeout for HTTP requests. Default: 10 seconds. Set to 0 or a negative +value to disable it. =item B<-V>, B<--version> diff --git a/lib/Travel/Status/DE/EFA.pm b/lib/Travel/Status/DE/EFA.pm index f8ea9f7..248f017 100644 --- a/lib/Travel/Status/DE/EFA.pm +++ b/lib/Travel/Status/DE/EFA.pm @@ -18,6 +18,11 @@ use XML::LibXML; sub new { my ( $class, %opt ) = @_; + $opt{timeout} //= 10; + if ( $opt{timeout} <= 0 ) { + delete $opt{timeout}; + } + my $ua = LWP::UserAgent->new(%opt); my @now = localtime( time() ); @@ -473,6 +478,11 @@ B (stop/station name). address / poi / stop name to list departures for. +=item B => I + +Request timeout, the argument is passed on to LWP::UserAgent(3pm). +Default: 10 seconds. Set to 0 or a negative value to disable it. + =back =item $status->errstr -- cgit v1.2.3