diff options
| author | Daniel Friesel <derf@finalrewind.org> | 2022-09-24 15:01:24 +0200 | 
|---|---|---|
| committer | Daniel Friesel <derf@finalrewind.org> | 2022-09-24 15:01:24 +0200 | 
| commit | 208b818d7c5c503149ecc0b662c02b0b4af63a41 (patch) | |
| tree | 3329dc8ac2c302f289f1578c6ffc7c11e2f3de39 /lib/Travelynx/Helper | |
| parent | d8cbd9cd6cd19f164b865d54584f05c1490c77f7 (diff) | |
HAFAS->get_json_p: accept cache and encoding parameters
Diffstat (limited to 'lib/Travelynx/Helper')
| -rw-r--r-- | lib/Travelynx/Helper/HAFAS.pm | 9 | 
1 files changed, 7 insertions, 2 deletions
| diff --git a/lib/Travelynx/Helper/HAFAS.pm b/lib/Travelynx/Helper/HAFAS.pm index 383b3bd..c8e0ef4 100644 --- a/lib/Travelynx/Helper/HAFAS.pm +++ b/lib/Travelynx/Helper/HAFAS.pm @@ -119,11 +119,16 @@ sub get_polyline_p {  }  sub get_json_p { -	my ( $self, $url ) = @_; +	my ( $self, $url, %opt ) = @_;  	my $cache   = $self->{main_cache};  	my $promise = Mojo::Promise->new; +	if ( $opt{realtime} ) { +		$cache = $self->{realtime_cache}; +	} +	$opt{encoding} //= 'ISO-8859-15'; +  	if ( my $content = $cache->thaw($url) ) {  		return $promise->resolve($content);  	} @@ -140,7 +145,7 @@ sub get_json_p {  				return;  			} -			my $body = decode( 'ISO-8859-15', $tx->res->body ); +			my $body = decode( $opt{encoding}, $tx->res->body );  			$body =~ s{^TSLs[.]sls = }{};  			$body =~ s{;$}{}; | 
