Package org.silverpeas.sso.kerberos.spnego

# Class SpnegoHttpServletResponse

java.lang.Object
jakarta.servlet.ServletResponseWrapper
jakarta.servlet.http.HttpServletResponseWrapper
org.silverpeas.sso.kerberos.spnego.SpnegoHttpServletResponse

All Implemented Interfaces:
  `jakarta.servlet.http.HttpServletResponse`, `jakarta.servlet.ServletResponse`

public final class SpnegoHttpServletResponse extends jakarta.servlet.http.HttpServletResponseWrapper
Class adds capability to track/determine if the HTTP Status code has been set.

Also allows the ability to set the content length to zero and flush the buffer immediately after setting the HTTP Status code.

Author:
  Darwin V. Felix

- ## 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
  Constructor
  Description
  `SpnegoHttpServletResponse(jakarta.servlet.http.HttpServletResponse response)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `isStatusSet()`
  Tells if setStatus has been called.
  `void`
  `setStatus(int status)`
  `void`
  `setStatus(int status, boolean immediate)`
  Sets the HTTP Status Code and optionally set the the content length to zero and flush the buffer.

  ### 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, setTrailerFields`

  ### Methods inherited from class jakarta.servlet.ServletResponseWrapper

  `flushBuffer, getBufferSize, getCharacterEncoding, getContentType, getLocale, getOutputStream, getResponse, getWriter, isCommitted, isWrapperFor, isWrapperFor, reset, resetBuffer, setBufferSize, setCharacterEncoding, setContentLength, setContentLengthLong, setContentType, setLocale, setResponse`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods inherited from interface jakarta.servlet.ServletResponse

  `flushBuffer, getBufferSize, getCharacterEncoding, getContentType, getLocale, getOutputStream, getWriter, isCommitted, reset, resetBuffer, setBufferSize, setCharacterEncoding, setContentLength, setContentLengthLong, setContentType, setLocale`

- ## Constructor Details

  - ### SpnegoHttpServletResponse

    public SpnegoHttpServletResponse(jakarta.servlet.http.HttpServletResponse response)

- ## Method Details

  - ### isStatusSet

    public boolean isStatusSet()
    Tells if setStatus has been called.
    Returns:
      true if HTTP Status code has been set

  - ### setStatus

    public void setStatus(int status)
    Specified by:
      `setStatus` in interface `jakarta.servlet.http.HttpServletResponse`
    Overrides:
      `setStatus` in class `jakarta.servlet.http.HttpServletResponseWrapper`

  - ### setStatus

    public void setStatus(int status, boolean immediate) throws IOException
    Sets the HTTP Status Code and optionally set the the content length to zero and flush the buffer.
    Parameters:
      `status` - http status code
      `immediate` - set to true to set content len to zero and flush
    Throws:
      `IOException` - if an IO error occurs
    See Also:
      - `setStatus(int)`