Class CacheableResponse
java.lang.Object
jakarta.servlet.ServletResponseWrapper
jakarta.servlet.http.HttpServletResponseWrapper
com.atlassian.plugin.servlet.cache.model.CacheableResponse
- All Implemented Interfaces:
jakarta.servlet.http.HttpServletResponse,jakarta.servlet.ServletResponse,Closeable,AutoCloseable
public class CacheableResponse
extends jakarta.servlet.http.HttpServletResponseWrapper
implements Closeable
Represents a HttpServletResponseWrapper responsible for exposing the content of a HttpServletResponse as ETagToken.
- Since:
- 4.1.18
-
Field Summary
Fields 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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal voidclose()final voidfinal voidFlushes the content to the original-wrapped response.final Optional<byte[]> Get the current response body.final jakarta.servlet.ServletOutputStreamfinal PrintWriterfinal booleanisCacheable(CacheableRequest request) final voidDefines the currentHttpHeaders.ETAGheader based on the response body content.Get the representation of the current response body asETagToken.Methods inherited from class jakarta.servlet.http.HttpServletResponseWrapper
addCookie, addDateHeader, addHeader, addIntHeader, containsHeader, encodeRedirectURL, encodeURL, getHeader, getHeaderNames, getHeaders, getStatus, getTrailerFields, sendError, sendError, sendRedirect, setDateHeader, setHeader, setIntHeader, setStatus, setTrailerFieldsMethods inherited from class jakarta.servlet.ServletResponseWrapper
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
getBufferSize, getCharacterEncoding, getContentType, getLocale, isCommitted, reset, resetBuffer, setBufferSize, setCharacterEncoding, setContentLength, setContentLengthLong, setContentType, setLocale
-
Constructor Details
-
CacheableResponse
public CacheableResponse(@Nonnull jakarta.servlet.http.HttpServletResponse response)
-
-
Method Details
-
close
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Throws:
IOException
-
flushBuffer
public final void flushBuffer()- Specified by:
flushBufferin interfacejakarta.servlet.ServletResponse- Overrides:
flushBufferin classjakarta.servlet.ServletResponseWrapper
-
flushResponse
public final void flushResponse()Flushes the content to the original-wrapped response. -
getContentBody
Get the current response body.- Returns:
- The possible response body if there is any.
-
getOutputStream
@Nonnull public final jakarta.servlet.ServletOutputStream getOutputStream()- Specified by:
getOutputStreamin interfacejakarta.servlet.ServletResponse- Overrides:
getOutputStreamin classjakarta.servlet.ServletResponseWrapper
-
getWriter
- Specified by:
getWriterin interfacejakarta.servlet.ServletResponse- Overrides:
getWriterin classjakarta.servlet.ServletResponseWrapper
-
isCacheable
-
setETagHeader
public final void setETagHeader()Defines the currentHttpHeaders.ETAGheader based on the response body content. -
toETagToken
Get the representation of the current response body asETagToken.- Returns:
- A possible representation of the current response body if the body is not null.
-