diff options
Diffstat (limited to 'lib/DBInfoscreen/Controller')
| -rw-r--r-- | lib/DBInfoscreen/Controller/Stationboard.pm | 27 | 
1 files changed, 20 insertions, 7 deletions
| diff --git a/lib/DBInfoscreen/Controller/Stationboard.pm b/lib/DBInfoscreen/Controller/Stationboard.pm index 9f0bd31..797cde9 100644 --- a/lib/DBInfoscreen/Controller/Stationboard.pm +++ b/lib/DBInfoscreen/Controller/Stationboard.pm @@ -142,10 +142,14 @@ sub get_hafas_trip_id {  	}  	$ua->request_timeout(2); -	my $res -	  = $ua->get( -		$url => { 'User-Agent' => "dbf.finalrewind.org/${dbf_version}" } ) -	  ->result; +	my $res = eval { +		$ua->get( +			$url => { 'User-Agent' => "dbf.finalrewind.org/${dbf_version}" } ) +		  ->result; +	}; +	if ($@) { +		return; +	}  	if ( $res->is_error ) {  		return;  	} @@ -182,8 +186,11 @@ sub check_wagonorder {  	}  	$ua->request_timeout(2); -	my $res = $ua->head($url)->result; +	my $res = eval { $ua->head($url)->result }; +	if ($@) { +		return; +	}  	if ( $res->is_error ) {  		$cache->set( $url, 'n' );  		return; @@ -201,8 +208,11 @@ sub hafas_json_req {  		return $content;  	} -	my $res = $ua->get($url)->result; +	my $res = eval { $ua->get($url)->result }; +	if ($@) { +		return; +	}  	if ( $res->is_error ) {  		return;  	} @@ -228,8 +238,11 @@ sub hafas_xml_req {  		return $content;  	} -	my $res = $ua->get($url)->result; +	my $res = eval { $ua->get($url)->result }; +	if ($@) { +		return; +	}  	if ( $res->is_error ) {  		$cache->freeze( $url, {} );  		return; | 
