Merge topic 'web-session-regression'

* changes:
  Patch guice servlet extension to fix cookies bug
  WebSession: Prevent NPE in GitSmartHttpTools.isGitClient()
  WebSessionCache: Make response parameter optional
This commit is contained in:
Dave Borowitz
2014-06-16 18:59:35 +00:00
committed by Gerrit Code Review
3 changed files with 12 additions and 4 deletions

View File

@@ -68,7 +68,8 @@ public abstract class CacheBasedWebSession implements WebSession {
this.anonymousProvider = anonymousProvider;
this.identified = identified;
if (!GitSmartHttpTools.isGitClient(request)) {
if (request.getRequestURI() == null
|| !GitSmartHttpTools.isGitClient(request)) {
String cookie = readCookie();
if (cookie != null) {
key = new Key(cookie);
@@ -184,6 +185,10 @@ public abstract class CacheBasedWebSession implements WebSession {
}
private void saveCookie() {
if (response == null) {
return;
}
final String token;
final int ageSeconds;

View File

@@ -17,6 +17,7 @@ package com.google.gerrit.httpd;
import static java.util.concurrent.TimeUnit.MINUTES;
import com.google.common.cache.Cache;
import com.google.gerrit.common.Nullable;
import com.google.gerrit.extensions.registration.DynamicItem;
import com.google.gerrit.httpd.WebSessionManager.Val;
import com.google.gerrit.server.AnonymousUser;
@@ -56,7 +57,7 @@ public class H2CacheBasedWebSession extends CacheBasedWebSession {
@Inject
H2CacheBasedWebSession(
HttpServletRequest request,
HttpServletResponse response,
@Nullable HttpServletResponse response,
WebSessionManagerFactory managerFactory,
@Named(WebSessionManager.CACHE_NAME) Cache<String, Val> cache,
AuthConfig authConfig,