forked from I2P_Developers/i2p.i2p
Servlets: Close output stream on redirect,
instead of flushing buffer, to force commitment
This commit is contained in:
@@ -290,7 +290,7 @@ class BasicServlet extends HttpServlet
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
response.setStatus(304);
|
response.setStatus(304);
|
||||||
response.flushBuffer();
|
response.getOutputStream().close();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1370,7 +1370,7 @@ public class I2PSnarkServlet extends BasicServlet {
|
|||||||
buf.append(p.replace("&", "&")); // no you don't html escape the redirect header
|
buf.append(p.replace("&", "&")); // no you don't html escape the redirect header
|
||||||
resp.setHeader("Location", buf.toString());
|
resp.setHeader("Location", buf.toString());
|
||||||
resp.setStatus(303);
|
resp.setStatus(303);
|
||||||
resp.flushBuffer();
|
resp.getOutputStream().close();
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @since 0.9 */
|
/** @since 0.9 */
|
||||||
|
@@ -183,6 +183,6 @@ public class HostCheckHandler extends GzipHandler
|
|||||||
// https://w3c.github.io/webappsec-upgrade-insecure-requests/
|
// https://w3c.github.io/webappsec-upgrade-insecure-requests/
|
||||||
httpResponse.setHeader("Vary", "Upgrade-Insecure-Requests");
|
httpResponse.setHeader("Vary", "Upgrade-Insecure-Requests");
|
||||||
httpResponse.setStatus(307);
|
httpResponse.setStatus(307);
|
||||||
httpResponse.flushBuffer();
|
httpResponse.getOutputStream().close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -65,7 +65,7 @@ public class CodedIconRendererServlet extends HttpServlet {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
srs.setStatus(304);
|
srs.setStatus(304);
|
||||||
srs.flushBuffer();
|
srs.getOutputStream().close();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
//Binary data is not present but must be substituted by file on disk
|
//Binary data is not present but must be substituted by file on disk
|
||||||
|
@@ -9,6 +9,9 @@
|
|||||||
if (!testIFrame) {
|
if (!testIFrame) {
|
||||||
response.setStatus(307);
|
response.setStatus(307);
|
||||||
response.setHeader("Location", "/susidns/index");
|
response.setHeader("Location", "/susidns/index");
|
||||||
|
// force commitment
|
||||||
|
response.getOutputStream().close();
|
||||||
|
return;
|
||||||
} else {
|
} else {
|
||||||
%>
|
%>
|
||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
@@ -24,6 +24,8 @@
|
|||||||
// probably because restart or shutdown was clicked
|
// probably because restart or shutdown was clicked
|
||||||
response.setStatus(307);
|
response.setStatus(307);
|
||||||
response.setHeader("Location", "/graphs");
|
response.setHeader("Location", "/graphs");
|
||||||
|
// force commitment
|
||||||
|
response.getOutputStream().close();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
%>
|
%>
|
||||||
|
@@ -9,6 +9,9 @@
|
|||||||
if (!testIFrame) {
|
if (!testIFrame) {
|
||||||
response.setStatus(307);
|
response.setStatus(307);
|
||||||
response.setHeader("Location", "/i2ptunnel/");
|
response.setHeader("Location", "/i2ptunnel/");
|
||||||
|
// force commitment
|
||||||
|
response.getOutputStream().close();
|
||||||
|
return;
|
||||||
} else {
|
} else {
|
||||||
%>
|
%>
|
||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
@@ -1,6 +1,12 @@
|
|||||||
<%@page contentType="text/plain"%>
|
|
||||||
<%@page pageEncoding="UTF-8"%>
|
|
||||||
<%
|
<%
|
||||||
|
/*
|
||||||
|
* USE CAUTION WHEN EDITING
|
||||||
|
* Trailing whitespace OR NEWLINE on the last line will cause
|
||||||
|
* IllegalStateExceptions !!!
|
||||||
|
*
|
||||||
|
* Do not tag this file for translation.
|
||||||
|
*/
|
||||||
|
|
||||||
//
|
//
|
||||||
// Redirect to either /home or /console, depending on configuration,
|
// Redirect to either /home or /console, depending on configuration,
|
||||||
// while preserving any query parameters
|
// while preserving any query parameters
|
||||||
@@ -24,4 +30,6 @@
|
|||||||
if (query != null)
|
if (query != null)
|
||||||
buf.append('?').append(query);
|
buf.append('?').append(query);
|
||||||
response.setHeader("Location", buf.toString());
|
response.setHeader("Location", buf.toString());
|
||||||
|
// force commitment
|
||||||
|
response.getOutputStream().close();
|
||||||
%>
|
%>
|
@@ -10,6 +10,9 @@
|
|||||||
if (!testIFrame || !embedApp) {
|
if (!testIFrame || !embedApp) {
|
||||||
response.setStatus(307);
|
response.setStatus(307);
|
||||||
response.setHeader("Location", "/i2psnark/");
|
response.setHeader("Location", "/i2psnark/");
|
||||||
|
// force commitment
|
||||||
|
response.getOutputStream().close();
|
||||||
|
return;
|
||||||
} else {
|
} else {
|
||||||
%>
|
%>
|
||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
@@ -10,6 +10,9 @@
|
|||||||
if (!testIFrame || !embedApp) {
|
if (!testIFrame || !embedApp) {
|
||||||
response.setStatus(307);
|
response.setStatus(307);
|
||||||
response.setHeader("Location", "/susimail/susimail");
|
response.setHeader("Location", "/susimail/susimail");
|
||||||
|
// force commitment
|
||||||
|
response.getOutputStream().close();
|
||||||
|
return;
|
||||||
} else {
|
} else {
|
||||||
%>
|
%>
|
||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
@@ -2297,7 +2297,7 @@ public class WebMail extends HttpServlet
|
|||||||
buf.append(q.replace("&", "&")); // no you don't html escape the redirect header
|
buf.append(q.replace("&", "&")); // no you don't html escape the redirect header
|
||||||
resp.setHeader("Location", buf.toString());
|
resp.setHeader("Location", buf.toString());
|
||||||
resp.setStatus(303);
|
resp.setStatus(303);
|
||||||
resp.flushBuffer();
|
resp.getOutputStream().close();
|
||||||
Debug.debug(Debug.DEBUG, "P-R-G to " + q);
|
Debug.debug(Debug.DEBUG, "P-R-G to " + q);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user