summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Friesel <derf@finalrewind.org>2015-04-30 13:37:22 +0200
committerDaniel Friesel <derf@finalrewind.org>2015-04-30 13:37:22 +0200
commit702002d7d9dae38e7ae375dafefa20ae0f865a16 (patch)
tree93a6dbbd5ec11cb1f2b86a1cb887a9867d202d42
parente2ece5a9c331ad62fb93cffb633315b5268f8851 (diff)
EFA, efa-m: Add timeout parameter
-rw-r--r--Changelog1
-rwxr-xr-xbin/efa-m5
-rw-r--r--lib/Travel/Status/DE/EFA.pm10
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<seconds>
-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> (stop/station name).
address / poi / stop name to list departures for.
+=item B<timeout> => I<seconds>
+
+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