diff options
author | Byron Jones <glob@mozilla.com> | 2015-08-21 06:02:59 +0200 |
---|---|---|
committer | Byron Jones <glob@mozilla.com> | 2015-08-21 06:02:59 +0200 |
commit | ca9691331fb19542477b6205024921388321829b (patch) | |
tree | e36c885b8675c4aea7a7e1d9850eb4edc97c8b9c /Bugzilla/WebService | |
parent | 667ecc34ee8336e97fba1229e7b520bf42293860 (diff) | |
download | bugzilla-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')
-rw-r--r-- | Bugzilla/WebService/Server/REST.pm | 7 |
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); } |