Copy acceptsGzipEncoding method from gwtjsonrpc

This is a tiny utility that we don't need to bring in a whole external
dependency for.

Change-Id: I3d5d4e9f8d9272861c890ad59fca1662b05d608c
This commit is contained in:
Dave Borowitz
2018-12-18 18:18:27 -08:00
parent 29b39cf164
commit d693d9b71e
6 changed files with 16 additions and 11 deletions

View File

@@ -28,7 +28,7 @@ import com.google.gerrit.httpd.WebSession;
import com.google.gerrit.server.account.externalids.ExternalId;
import com.google.gerrit.server.config.AuthConfig;
import com.google.gerrit.util.http.CacheHeaders;
import com.google.gwtjsonrpc.server.RPCServletUtils;
import com.google.gerrit.util.http.RequestUtil;
import com.google.inject.Inject;
import com.google.inject.Singleton;
import java.io.FileNotFoundException;
@@ -97,7 +97,7 @@ class HttpAuthFilter implements Filter {
final HttpServletRequest req = (HttpServletRequest) request;
final HttpServletResponse rsp = (HttpServletResponse) response;
final byte[] tosend;
if (RPCServletUtils.acceptsGzipEncoding(req)) {
if (RequestUtil.acceptsGzipEncoding(req)) {
rsp.setHeader("Content-Encoding", "gzip");
tosend = signInGzip;
} else {

View File

@@ -21,7 +21,7 @@ import com.google.gerrit.httpd.HtmlDomUtil;
import com.google.gerrit.server.config.GitwebCgiConfig;
import com.google.gerrit.server.config.SitePaths;
import com.google.gerrit.util.http.CacheHeaders;
import com.google.gwtjsonrpc.server.RPCServletUtils;
import com.google.gerrit.util.http.RequestUtil;
import com.google.inject.Inject;
import com.google.inject.Singleton;
import java.io.IOException;
@@ -86,7 +86,7 @@ abstract class GitwebCssServlet extends HttpServlet {
rsp.setContentType("text/css");
rsp.setCharacterEncoding(UTF_8.name());
final byte[] toSend;
if (RPCServletUtils.acceptsGzipEncoding(req)) {
if (RequestUtil.acceptsGzipEncoding(req)) {
rsp.setHeader("Content-Encoding", "gzip");
toSend = gz_css;
} else {

View File

@@ -16,7 +16,7 @@ package com.google.gerrit.httpd.raw;
import com.google.gerrit.httpd.HtmlDomUtil;
import com.google.gerrit.util.http.CacheHeaders;
import com.google.gwtjsonrpc.server.RPCServletUtils;
import com.google.gerrit.util.http.RequestUtil;
import com.google.inject.Inject;
import com.google.inject.Singleton;
import java.io.FileNotFoundException;
@@ -55,7 +55,7 @@ public class LegacyGerritServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse rsp) throws IOException {
final byte[] tosend;
if (RPCServletUtils.acceptsGzipEncoding(req)) {
if (RequestUtil.acceptsGzipEncoding(req)) {
rsp.setHeader("Content-Encoding", "gzip");
tosend = compressed;
} else {

View File

@@ -36,7 +36,7 @@ import com.google.gerrit.common.Nullable;
import com.google.gerrit.httpd.HtmlDomUtil;
import com.google.gerrit.server.UsedAt;
import com.google.gerrit.util.http.CacheHeaders;
import com.google.gwtjsonrpc.server.RPCServletUtils;
import com.google.gerrit.util.http.RequestUtil;
import java.io.IOException;
import java.io.OutputStream;
import java.nio.file.Files;
@@ -182,7 +182,7 @@ public abstract class ResourceServlet extends HttpServlet {
}
byte[] tosend = r.raw;
if (!r.contentType.equals(JS) && RPCServletUtils.acceptsGzipEncoding(req)) {
if (!r.contentType.equals(JS) && RequestUtil.acceptsGzipEncoding(req)) {
byte[] gz = HtmlDomUtil.compress(tosend);
if ((gz.length + 24) < tosend.length) {
rsp.setHeader(CONTENT_ENCODING, "gzip");
@@ -267,7 +267,7 @@ public abstract class ResourceServlet extends HttpServlet {
OutputStream out = rsp.getOutputStream();
GZIPOutputStream gz = null;
if (RPCServletUtils.acceptsGzipEncoding(req)) {
if (RequestUtil.acceptsGzipEncoding(req)) {
rsp.setHeader(CONTENT_ENCODING, "gzip");
gz = new GZIPOutputStream(out);
out = gz;

View File

@@ -26,7 +26,7 @@ import static org.eclipse.jgit.util.HttpSupport.HDR_PRAGMA;
import com.google.gerrit.common.Version;
import com.google.gerrit.server.tools.ToolsCatalog;
import com.google.gerrit.server.tools.ToolsCatalog.Entry;
import com.google.gwtjsonrpc.server.RPCServletUtils;
import com.google.gerrit.util.http.RequestUtil;
import com.google.inject.Inject;
import com.google.inject.Singleton;
import java.io.IOException;
@@ -130,7 +130,7 @@ public class ToolServlet extends HttpServlet {
body.appendChild(footer);
byte[] tosend = toUTF8(page);
if (RPCServletUtils.acceptsGzipEncoding(req)) {
if (RequestUtil.acceptsGzipEncoding(req)) {
rsp.setHeader("Content-Encoding", "gzip");
tosend = compress(tosend);
}

View File

@@ -89,5 +89,10 @@ public class RequestUtil {
return result.toString();
}
public static boolean acceptsGzipEncoding(HttpServletRequest request) {
String accepts = request.getHeader("Accept-Encoding");
return accepts != null && accepts.indexOf("gzip") != -1;
}
private RequestUtil() {}
}