Class ResponseIncludeWrapper
java.lang.Object
jakarta.servlet.ServletResponseWrapper
jakarta.servlet.http.HttpServletResponseWrapper
org.apache.catalina.ssi.ResponseIncludeWrapper
- All Implemented Interfaces:
HttpServletResponse,ServletResponse
An HttpServletResponseWrapper, used from
SSIServletExternalResolver- Author:
- Bip Thelin, David Becker
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final ServletOutputStreamOur ServletOutputStreamprotected longprotected PrintWriterprotected ServletOutputStreamFields inherited from interface jakarta.servlet.http.HttpServletResponse
SC_ACCEPTED, SC_BAD_GATEWAY, SC_BAD_REQUEST, SC_CONFLICT, SC_CONTINUE, SC_CREATED, SC_EXPECTATION_FAILED, SC_FORBIDDEN, SC_FOUND, SC_GATEWAY_TIMEOUT, SC_GONE, SC_HTTP_VERSION_NOT_SUPPORTED, SC_INTERNAL_SERVER_ERROR, SC_LENGTH_REQUIRED, SC_METHOD_NOT_ALLOWED, SC_MOVED_PERMANENTLY, SC_MOVED_TEMPORARILY, SC_MULTIPLE_CHOICES, SC_NO_CONTENT, SC_NON_AUTHORITATIVE_INFORMATION, SC_NOT_ACCEPTABLE, SC_NOT_FOUND, SC_NOT_IMPLEMENTED, SC_NOT_MODIFIED, SC_OK, SC_PARTIAL_CONTENT, SC_PAYMENT_REQUIRED, SC_PRECONDITION_FAILED, SC_PROXY_AUTHENTICATION_REQUIRED, SC_REQUEST_ENTITY_TOO_LARGE, SC_REQUEST_TIMEOUT, SC_REQUEST_URI_TOO_LONG, SC_REQUESTED_RANGE_NOT_SATISFIABLE, SC_RESET_CONTENT, SC_SEE_OTHER, SC_SERVICE_UNAVAILABLE, SC_SWITCHING_PROTOCOLS, SC_TEMPORARY_REDIRECT, SC_UNAUTHORIZED, SC_UNSUPPORTED_MEDIA_TYPE, SC_USE_PROXY -
Constructor Summary
ConstructorsConstructorDescriptionResponseIncludeWrapper(HttpServletResponse response, ServletOutputStream captureServletOutputStream) Initialize our wrapper with the current HttpServletResponse and ServletOutputStream. -
Method Summary
Modifier and TypeMethodDescriptionvoidaddDateHeader(String name, long value) The default behavior of this method is to call addDateHeader(String name, long date) on the wrapped response object.voidThe default behavior of this method is to return addHeader(String name, String value) on the wrapped response object.voidFlush the servletOutputStream or printWriter ( only one will be non-null ) This must be called after a requestDispatcher.include, since we can't assume that the included servlet flushed its stream.longReturns the value of thelast-modifiedheader field.Return an OutputStream, throws an exception if a printwriter already been returned.Return a printwriter, throws an exception if an OutputStream already been returned.voidsetDateHeader(String name, long value) The default behavior of this method is to call setDateHeader(String name, long date) on the wrapped response object.voidThe default behavior of this method is to return setHeader(String name, String value) on the wrapped response object.Methods inherited from class jakarta.servlet.http.HttpServletResponseWrapper
addCookie, addIntHeader, containsHeader, encodeRedirectURL, encodeURL, getHeader, getHeaderNames, getHeaders, getStatus, getTrailerFields, sendError, sendError, sendRedirect, setIntHeader, setStatus, setTrailerFieldsMethods inherited from class jakarta.servlet.ServletResponseWrapper
flushBuffer, getBufferSize, getCharacterEncoding, getContentType, getLocale, getResponse, isCommitted, isWrapperFor, isWrapperFor, reset, resetBuffer, setBufferSize, setCharacterEncoding, setContentLength, setContentLengthLong, setContentType, setLocale, setResponseMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface jakarta.servlet.ServletResponse
flushBuffer, getBufferSize, getCharacterEncoding, getContentType, getLocale, isCommitted, reset, resetBuffer, setBufferSize, setCharacterEncoding, setContentLength, setContentLengthLong, setContentType, setLocale
-
Field Details
-
lastModified
protected long lastModified -
captureServletOutputStream
Our ServletOutputStream -
servletOutputStream
-
printWriter
-
-
Constructor Details
-
ResponseIncludeWrapper
public ResponseIncludeWrapper(HttpServletResponse response, ServletOutputStream captureServletOutputStream) Initialize our wrapper with the current HttpServletResponse and ServletOutputStream.- Parameters:
response- The response to usecaptureServletOutputStream- The ServletOutputStream to use
-
-
Method Details
-
flushOutputStreamOrWriter
Flush the servletOutputStream or printWriter ( only one will be non-null ) This must be called after a requestDispatcher.include, since we can't assume that the included servlet flushed its stream.- Throws:
IOException- an IO error occurred
-
getWriter
Return a printwriter, throws an exception if an OutputStream already been returned.- Specified by:
getWriterin interfaceServletResponse- Overrides:
getWriterin classServletResponseWrapper- Returns:
- a PrintWriter object
- Throws:
IOException- if the outputstream already been called- See Also:
-
getOutputStream
Return an OutputStream, throws an exception if a printwriter already been returned.- Specified by:
getOutputStreamin interfaceServletResponse- Overrides:
getOutputStreamin classServletResponseWrapper- Returns:
- an OutputStream object
- Throws:
IOException- if the printwriter already been called- See Also:
-
getLastModified
public long getLastModified()Returns the value of thelast-modifiedheader field. The result is the number of milliseconds since January 1, 1970 GMT.- Returns:
- the date the resource referenced by this
ResponseIncludeWrapperwas last modified, or -1 if not known.
-
addDateHeader
Description copied from class:jakarta.servlet.http.HttpServletResponseWrapperThe default behavior of this method is to call addDateHeader(String name, long date) on the wrapped response object.- Specified by:
addDateHeaderin interfaceHttpServletResponse- Overrides:
addDateHeaderin classHttpServletResponseWrapper- Parameters:
name- the name of the header to setvalue- the additional date value- See Also:
-
addHeader
Description copied from class:jakarta.servlet.http.HttpServletResponseWrapperThe default behavior of this method is to return addHeader(String name, String value) on the wrapped response object.- Specified by:
addHeaderin interfaceHttpServletResponse- Overrides:
addHeaderin classHttpServletResponseWrapper- Parameters:
name- the name of the headervalue- the additional header value If it contains octet string, it should be encoded according to RFC 2047 (http://www.ietf.org/rfc/rfc2047.txt)- See Also:
-
setDateHeader
Description copied from class:jakarta.servlet.http.HttpServletResponseWrapperThe default behavior of this method is to call setDateHeader(String name, long date) on the wrapped response object.- Specified by:
setDateHeaderin interfaceHttpServletResponse- Overrides:
setDateHeaderin classHttpServletResponseWrapper- Parameters:
name- the name of the header to setvalue- the assigned date value- See Also:
-
setHeader
Description copied from class:jakarta.servlet.http.HttpServletResponseWrapperThe default behavior of this method is to return setHeader(String name, String value) on the wrapped response object.- Specified by:
setHeaderin interfaceHttpServletResponse- Overrides:
setHeaderin classHttpServletResponseWrapper- Parameters:
name- the name of the headervalue- the header value If it contains octet string, it should be encoded according to RFC 2047 (http://www.ietf.org/rfc/rfc2047.txt)- See Also:
-