diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/DBInfoscreen.pm | 3 | ||||
| -rw-r--r-- | lib/DBInfoscreen/Controller/Stationboard.pm | 7 | 
2 files changed, 8 insertions, 2 deletions
| diff --git a/lib/DBInfoscreen.pm b/lib/DBInfoscreen.pm index 49e7402..c784e96 100644 --- a/lib/DBInfoscreen.pm +++ b/lib/DBInfoscreen.pm @@ -289,7 +289,8 @@ sub startup {  	$r->get('/')->to('stationboard#handle_request');  	$r->get('/multi/*station')->to('stationboard#handle_request'); -	$r->get('/*station')->to('stationboard#handle_request'); +	$r->get( '/*station' => [ format => [ 'html', 'json' ] ] ) +	  ->to( 'stationboard#handle_request', format => undef );  	$self->types->type( json => 'application/json; charset=utf-8' ); diff --git a/lib/DBInfoscreen/Controller/Stationboard.pm b/lib/DBInfoscreen/Controller/Stationboard.pm index 078be87..6893cc0 100644 --- a/lib/DBInfoscreen/Controller/Stationboard.pm +++ b/lib/DBInfoscreen/Controller/Stationboard.pm @@ -469,7 +469,12 @@ sub handle_request {  	# (or used by) marudor.de, it was renamed to 'json'. Many clients won't  	# notice this for year to come, so we make sure mode=marudor still works as  	# intended. -	if ( $template eq 'marudor' ) { +	if ( +		$template eq 'marudor' +		or (    $self->req->headers->accept +			and $self->req->headers->accept eq 'application/json' ) +	  ) +	{  		$template = 'json';  	} | 
