From 0d3aec8c17e2cc424d3c79514e5d05188f30dcde Mon Sep 17 00:00:00 2001 From: Oliver Gorwits Date: Fri, 15 May 2020 11:52:21 +0100 Subject: [PATCH] #715 fix crash on missing Accept Header --- Changes | 1 + lib/App/Netdisco/Web/AuthN.pm | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Changes b/Changes index b206e142..7e86c40e 100644 --- a/Changes +++ b/Changes @@ -2,6 +2,7 @@ [BUG FIXES] + * #715 fix crash on missing Accept Header * #718 fix Node Search API endpoint * #719 include IO::Socket::INET6 in deps to ensure IPv6 support diff --git a/lib/App/Netdisco/Web/AuthN.pm b/lib/App/Netdisco/Web/AuthN.pm index 1a980473..6d42bcf3 100644 --- a/lib/App/Netdisco/Web/AuthN.pm +++ b/lib/App/Netdisco/Web/AuthN.pm @@ -92,7 +92,7 @@ swagger_path { }, }, post '/login' => sub { - my $api = ((request->accept =~ m/(?:json|javascript)/) ? true : false); + my $api = ((request->accept and request->accept =~ m/(?:json|javascript)/) ? true : false); # get authN data from BasicAuth header used by API, put into params my $authheader = request->header('Authorization'); @@ -171,7 +171,7 @@ swagger_path { responses => { default => { examples => { 'application/json' => {} } } }, }, get '/logout' => sub { - my $api = ((request->accept =~ m/(?:json|javascript)/) ? true : false); + my $api = ((request->accept and request->accept =~ m/(?:json|javascript)/) ? true : false); # clear out API token my $user = schema('netdisco')->resultset('User') @@ -199,7 +199,7 @@ get '/logout' => sub { # user redirected here (POST -> GET) when login fails get qr{^/(?:login(?:/denied)?)?} => sub { - my $api = ((request->accept =~ m/(?:json|javascript)/) ? true : false); + my $api = ((request->accept and request->accept =~ m/(?:json|javascript)/) ? true : false); if ($api) { header('Content-Type' => 'application/json');