Class SameSiteCookieHeaderFilter.SameSiteResponseProxy
java.lang.Object
jakarta.servlet.ServletResponseWrapper
jakarta.servlet.http.HttpServletResponseWrapper
net.shibboleth.shared.spring.servlet.impl.SameSiteCookieHeaderFilter.SameSiteResponseProxy
- All Implemented Interfaces:
HttpServletResponse,ServletResponse
- Enclosing class:
- SameSiteCookieHeaderFilter
An implementation of the
HttpServletResponse which adds the same-site flag to Set-Cookie
headers for the set of configured cookies.-
Field Summary
FieldsFields 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 TypeMethodDescriptionprivate voidAdd the SameSite attribute to those cookies configured in thesameSiteCookiesmap iff they do not already contain the same-site flag.private voidappendSameSiteAttribute(String cookieHeader, String sameSiteValue, boolean first) Append the SameSite cookie attribute with the specified samesite-value to thecookieHeaderiff it does not already have one set.voidsendError(int sc) voidvoidsendRedirect(String location) Methods inherited from class jakarta.servlet.http.HttpServletResponseWrapper
addCookie, addDateHeader, addHeader, addIntHeader, containsHeader, encodeRedirectURL, encodeURL, getHeader, getHeaderNames, getHeaders, getStatus, getTrailerFields, setDateHeader, setHeader, 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
-
response
The response.
-
-
Constructor Details
-
SameSiteResponseProxy
Constructor.- Parameters:
resp- the response to delegate to
-
-
Method Details
-
sendError
- Specified by:
sendErrorin interfaceHttpServletResponse- Overrides:
sendErrorin classHttpServletResponseWrapper- Throws:
IOException
-
getWriter
- Specified by:
getWriterin interfaceServletResponse- Overrides:
getWriterin classServletResponseWrapper- Throws:
IOException
-
sendError
- Specified by:
sendErrorin interfaceHttpServletResponse- Overrides:
sendErrorin classHttpServletResponseWrapper- Throws:
IOException
-
sendRedirect
- Specified by:
sendRedirectin interfaceHttpServletResponse- Overrides:
sendRedirectin classHttpServletResponseWrapper- Throws:
IOException
-
getOutputStream
- Specified by:
getOutputStreamin interfaceServletResponse- Overrides:
getOutputStreamin classServletResponseWrapper- Throws:
IOException
-
appendSameSite
private void appendSameSite()Add the SameSite attribute to those cookies configured in thesameSiteCookiesmap iff they do not already contain the same-site flag. All other cookies are copied over to the response without modification. -
appendSameSiteAttribute
private void appendSameSiteAttribute(@Nonnull @NotEmpty String cookieHeader, @Nonnull @NotEmpty String sameSiteValue, boolean first) Append the SameSite cookie attribute with the specified samesite-value to thecookieHeaderiff it does not already have one set.- Parameters:
cookieHeader- the cookie header valuesameSiteValue- the SameSite attribute value e.g. None, Lax, or Strictfirst- true iff this is the first Set-Cookie header
-