summaryrefslogtreecommitdiffstats
path: root/Bugzilla/WebService/Server
diff options
context:
space:
mode:
authorByron Jones <glob@mozilla.com>2015-08-21 06:02:59 +0200
committerByron Jones <glob@mozilla.com>2015-08-21 06:02:59 +0200
commitca9691331fb19542477b6205024921388321829b (patch)
treee36c885b8675c4aea7a7e1d9850eb4edc97c8b9c /Bugzilla/WebService/Server
parent667ecc34ee8336e97fba1229e7b520bf42293860 (diff)
downloadbugzilla-ca9691331fb19542477b6205024921388321829b.tar.gz
bugzilla-ca9691331fb19542477b6205024921388321829b.tar.xz
Bug 1195645 - don't create a new session for every authenticated REST/BzAPI call
Diffstat (limited to 'Bugzilla/WebService/Server')
-rw-r--r--Bugzilla/WebService/Server/REST.pm7
1 files changed, 7 insertions, 0 deletions
diff --git a/Bugzilla/WebService/Server/REST.pm b/Bugzilla/WebService/Server/REST.pm
index 858375247..d94fb1d81 100644
--- a/Bugzilla/WebService/Server/REST.pm
+++ b/Bugzilla/WebService/Server/REST.pm
@@ -189,6 +189,13 @@ sub handle_login {
my $full_method = $class . "." . $method;
$full_method =~ s/^Bugzilla::WebService:://;
+ # We never want to create a new session unless the user is calling the
+ # login method. Setting dont_persist_session makes
+ # Bugzilla::Auth::_handle_login_result() skip calling persist_login().
+ if ($full_method ne 'User.login') {
+ Bugzilla->request_cache->{dont_persist_session} = 1;
+ }
+
# Bypass JSONRPC::handle_login
Bugzilla::WebService::Server->handle_login($class, $method, $full_method);
}