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:
@@ -28,7 +28,7 @@ import com.google.gerrit.httpd.WebSession;
|
|||||||
import com.google.gerrit.server.account.externalids.ExternalId;
|
import com.google.gerrit.server.account.externalids.ExternalId;
|
||||||
import com.google.gerrit.server.config.AuthConfig;
|
import com.google.gerrit.server.config.AuthConfig;
|
||||||
import com.google.gerrit.util.http.CacheHeaders;
|
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.Inject;
|
||||||
import com.google.inject.Singleton;
|
import com.google.inject.Singleton;
|
||||||
import java.io.FileNotFoundException;
|
import java.io.FileNotFoundException;
|
||||||
@@ -97,7 +97,7 @@ class HttpAuthFilter implements Filter {
|
|||||||
final HttpServletRequest req = (HttpServletRequest) request;
|
final HttpServletRequest req = (HttpServletRequest) request;
|
||||||
final HttpServletResponse rsp = (HttpServletResponse) response;
|
final HttpServletResponse rsp = (HttpServletResponse) response;
|
||||||
final byte[] tosend;
|
final byte[] tosend;
|
||||||
if (RPCServletUtils.acceptsGzipEncoding(req)) {
|
if (RequestUtil.acceptsGzipEncoding(req)) {
|
||||||
rsp.setHeader("Content-Encoding", "gzip");
|
rsp.setHeader("Content-Encoding", "gzip");
|
||||||
tosend = signInGzip;
|
tosend = signInGzip;
|
||||||
} else {
|
} else {
|
||||||
|
@@ -21,7 +21,7 @@ import com.google.gerrit.httpd.HtmlDomUtil;
|
|||||||
import com.google.gerrit.server.config.GitwebCgiConfig;
|
import com.google.gerrit.server.config.GitwebCgiConfig;
|
||||||
import com.google.gerrit.server.config.SitePaths;
|
import com.google.gerrit.server.config.SitePaths;
|
||||||
import com.google.gerrit.util.http.CacheHeaders;
|
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.Inject;
|
||||||
import com.google.inject.Singleton;
|
import com.google.inject.Singleton;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
@@ -86,7 +86,7 @@ abstract class GitwebCssServlet extends HttpServlet {
|
|||||||
rsp.setContentType("text/css");
|
rsp.setContentType("text/css");
|
||||||
rsp.setCharacterEncoding(UTF_8.name());
|
rsp.setCharacterEncoding(UTF_8.name());
|
||||||
final byte[] toSend;
|
final byte[] toSend;
|
||||||
if (RPCServletUtils.acceptsGzipEncoding(req)) {
|
if (RequestUtil.acceptsGzipEncoding(req)) {
|
||||||
rsp.setHeader("Content-Encoding", "gzip");
|
rsp.setHeader("Content-Encoding", "gzip");
|
||||||
toSend = gz_css;
|
toSend = gz_css;
|
||||||
} else {
|
} else {
|
||||||
|
@@ -16,7 +16,7 @@ package com.google.gerrit.httpd.raw;
|
|||||||
|
|
||||||
import com.google.gerrit.httpd.HtmlDomUtil;
|
import com.google.gerrit.httpd.HtmlDomUtil;
|
||||||
import com.google.gerrit.util.http.CacheHeaders;
|
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.Inject;
|
||||||
import com.google.inject.Singleton;
|
import com.google.inject.Singleton;
|
||||||
import java.io.FileNotFoundException;
|
import java.io.FileNotFoundException;
|
||||||
@@ -55,7 +55,7 @@ public class LegacyGerritServlet extends HttpServlet {
|
|||||||
@Override
|
@Override
|
||||||
protected void doGet(HttpServletRequest req, HttpServletResponse rsp) throws IOException {
|
protected void doGet(HttpServletRequest req, HttpServletResponse rsp) throws IOException {
|
||||||
final byte[] tosend;
|
final byte[] tosend;
|
||||||
if (RPCServletUtils.acceptsGzipEncoding(req)) {
|
if (RequestUtil.acceptsGzipEncoding(req)) {
|
||||||
rsp.setHeader("Content-Encoding", "gzip");
|
rsp.setHeader("Content-Encoding", "gzip");
|
||||||
tosend = compressed;
|
tosend = compressed;
|
||||||
} else {
|
} else {
|
||||||
|
@@ -36,7 +36,7 @@ import com.google.gerrit.common.Nullable;
|
|||||||
import com.google.gerrit.httpd.HtmlDomUtil;
|
import com.google.gerrit.httpd.HtmlDomUtil;
|
||||||
import com.google.gerrit.server.UsedAt;
|
import com.google.gerrit.server.UsedAt;
|
||||||
import com.google.gerrit.util.http.CacheHeaders;
|
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.IOException;
|
||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
@@ -182,7 +182,7 @@ public abstract class ResourceServlet extends HttpServlet {
|
|||||||
}
|
}
|
||||||
|
|
||||||
byte[] tosend = r.raw;
|
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);
|
byte[] gz = HtmlDomUtil.compress(tosend);
|
||||||
if ((gz.length + 24) < tosend.length) {
|
if ((gz.length + 24) < tosend.length) {
|
||||||
rsp.setHeader(CONTENT_ENCODING, "gzip");
|
rsp.setHeader(CONTENT_ENCODING, "gzip");
|
||||||
@@ -267,7 +267,7 @@ public abstract class ResourceServlet extends HttpServlet {
|
|||||||
|
|
||||||
OutputStream out = rsp.getOutputStream();
|
OutputStream out = rsp.getOutputStream();
|
||||||
GZIPOutputStream gz = null;
|
GZIPOutputStream gz = null;
|
||||||
if (RPCServletUtils.acceptsGzipEncoding(req)) {
|
if (RequestUtil.acceptsGzipEncoding(req)) {
|
||||||
rsp.setHeader(CONTENT_ENCODING, "gzip");
|
rsp.setHeader(CONTENT_ENCODING, "gzip");
|
||||||
gz = new GZIPOutputStream(out);
|
gz = new GZIPOutputStream(out);
|
||||||
out = gz;
|
out = gz;
|
||||||
|
@@ -26,7 +26,7 @@ import static org.eclipse.jgit.util.HttpSupport.HDR_PRAGMA;
|
|||||||
import com.google.gerrit.common.Version;
|
import com.google.gerrit.common.Version;
|
||||||
import com.google.gerrit.server.tools.ToolsCatalog;
|
import com.google.gerrit.server.tools.ToolsCatalog;
|
||||||
import com.google.gerrit.server.tools.ToolsCatalog.Entry;
|
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.Inject;
|
||||||
import com.google.inject.Singleton;
|
import com.google.inject.Singleton;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
@@ -130,7 +130,7 @@ public class ToolServlet extends HttpServlet {
|
|||||||
body.appendChild(footer);
|
body.appendChild(footer);
|
||||||
|
|
||||||
byte[] tosend = toUTF8(page);
|
byte[] tosend = toUTF8(page);
|
||||||
if (RPCServletUtils.acceptsGzipEncoding(req)) {
|
if (RequestUtil.acceptsGzipEncoding(req)) {
|
||||||
rsp.setHeader("Content-Encoding", "gzip");
|
rsp.setHeader("Content-Encoding", "gzip");
|
||||||
tosend = compress(tosend);
|
tosend = compress(tosend);
|
||||||
}
|
}
|
||||||
|
@@ -89,5 +89,10 @@ public class RequestUtil {
|
|||||||
return result.toString();
|
return result.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static boolean acceptsGzipEncoding(HttpServletRequest request) {
|
||||||
|
String accepts = request.getHeader("Accept-Encoding");
|
||||||
|
return accepts != null && accepts.indexOf("gzip") != -1;
|
||||||
|
}
|
||||||
|
|
||||||
private RequestUtil() {}
|
private RequestUtil() {}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user