diff --git a/src/helma/servlet/AbstractServletClient.java b/src/helma/servlet/AbstractServletClient.java index 42463cd5..19e5a716 100644 --- a/src/helma/servlet/AbstractServletClient.java +++ b/src/helma/servlet/AbstractServletClient.java @@ -195,12 +195,13 @@ public abstract class AbstractServletClient extends HttpServlet { res.addCookie(c); } catch (Exception ign) {} - if (trans.redirect != null) { + if (trans.getRedirect () != null) { try { - res.sendRedirect(trans.redirect); + res.sendRedirect(trans.getRedirect ()); } catch(Exception io_e) {} } else { + if (!trans.cache || ! caching) { // Disable caching of response. if (protocol == null || !protocol.endsWith ("1.1")) @@ -208,6 +209,8 @@ public abstract class AbstractServletClient extends HttpServlet { else res.setHeader ("Cache-Control", "no-cache"); // for HTTP 1.1 } + if (trans.status > 0) + res.setStatus (trans.status); res.setContentLength (trans.getContentLength ()); res.setContentType (trans.contentType); try { diff --git a/src/helma/servlet/AcmeServletClient.java b/src/helma/servlet/AcmeServletClient.java index 3969d71f..80f75393 100644 --- a/src/helma/servlet/AcmeServletClient.java +++ b/src/helma/servlet/AcmeServletClient.java @@ -154,12 +154,13 @@ public class AcmeServletClient extends HttpServlet { res.addCookie(c); } catch (Exception ign) {} - if (trans.redirect != null) { + if (trans.getRedirect () != null) { try { - res.sendRedirect(trans.redirect); + res.sendRedirect(trans.getRedirect ()); } catch(Exception io_e) {} } else { + if (!trans.cache || ! caching) { // Disable caching of response. if (protocol == null || !protocol.endsWith ("1.1")) @@ -167,7 +168,8 @@ public class AcmeServletClient extends HttpServlet { else res.setHeader ("Cache-Control", "no-cache"); // for HTTP 1.1 } - res.setStatus( HttpServletResponse.SC_OK ); + if (trans.status > 0) + res.setStatus (trans.status); res.setContentLength (trans.getContentLength ()); res.setContentType (trans.contentType); try {