summaryrefslogtreecommitdiffstats
path: root/Bugzilla/API
diff options
context:
space:
mode:
authorDavid Lawrence <dkl@mozilla.com>2015-04-10 15:25:26 +0200
committerDavid Lawrence <dkl@mozilla.com>2015-04-10 15:25:26 +0200
commita6d74986bd7b96aa41624ed407a46f7f63eadd55 (patch)
tree2f80620b59e57414d49ab56194af4e98d180117a /Bugzilla/API
parent647b7158953b7db7ebab61f54796669561470351 (diff)
downloadbugzilla-a6d74986bd7b96aa41624ed407a46f7f63eadd55.tar.gz
bugzilla-a6d74986bd7b96aa41624ed407a46f7f63eadd55.tar.xz
Bug 1152319: calling /rest/logout results in an internal error and a malformed response to the caller
r=glob,a=glob
Diffstat (limited to 'Bugzilla/API')
-rw-r--r--Bugzilla/API/1_0/Server.pm10
1 files changed, 10 insertions, 0 deletions
diff --git a/Bugzilla/API/1_0/Server.pm b/Bugzilla/API/1_0/Server.pm
index ed147dc2a..6136440cf 100644
--- a/Bugzilla/API/1_0/Server.pm
+++ b/Bugzilla/API/1_0/Server.pm
@@ -89,6 +89,16 @@ sub handle {
# Execute the handler
my $result = $self->_handle;
+ # The result needs to be a valid JSON data structure
+ # and not a undefined or scalar value.
+ if (!ref $result
+ || blessed($result)
+ || ref $result ne 'HASH'
+ || ref $result ne 'ARRAY')
+ {
+ $result = { result => $result };
+ }
+
$self->response($result);
}