Package: org.grails.web.servlet.mvc

## [Groovy] Class OutputAwareHttpServletResponse

- org.grails.web.servlet.mvc.OutputAwareHttpServletResponse

-     @groovy.transform.CompileStatic
      @groovy.transform.InheritConstructors
      class OutputAwareHttpServletResponse
      extends javax.servlet.http.HttpServletResponseWrapper

  Tracks whether getOutputStream() was called in order to prevent calls to getWriter() after getOutputStream() has been called

  Since:
    3.1.12
  Authors:
    Graeme Rocher

- - ### Field Summary

    Fields
    Modifiers | Name | Description
    --- | --- | ---
    `private boolean` | `writerAvailable` | Whether the writer is available

  - Inherited fields
    Fields inherited from class | Fields
    --- | ---
    `class javax.servlet.http.HttpServletResponseWrapper` | `SC_CONTINUE, SC_SWITCHING_PROTOCOLS, SC_OK, SC_CREATED, SC_ACCEPTED, SC_NON_AUTHORITATIVE_INFORMATION, SC_NO_CONTENT, SC_RESET_CONTENT, SC_PARTIAL_CONTENT, SC_MULTIPLE_CHOICES, SC_MOVED_PERMANENTLY, SC_MOVED_TEMPORARILY, SC_FOUND, SC_SEE_OTHER, SC_NOT_MODIFIED, SC_USE_PROXY, SC_TEMPORARY_REDIRECT, SC_BAD_REQUEST, SC_UNAUTHORIZED, SC_PAYMENT_REQUIRED, SC_FORBIDDEN, SC_NOT_FOUND, SC_METHOD_NOT_ALLOWED, SC_NOT_ACCEPTABLE, SC_PROXY_AUTHENTICATION_REQUIRED, SC_REQUEST_TIMEOUT, SC_CONFLICT, SC_GONE, SC_LENGTH_REQUIRED, SC_PRECONDITION_FAILED, SC_REQUEST_ENTITY_TOO_LARGE, SC_REQUEST_URI_TOO_LONG, SC_UNSUPPORTED_MEDIA_TYPE, SC_REQUESTED_RANGE_NOT_SATISFIABLE, SC_EXPECTATION_FAILED, SC_INTERNAL_SERVER_ERROR, SC_NOT_IMPLEMENTED, SC_BAD_GATEWAY, SC_SERVICE_UNAVAILABLE, SC_GATEWAY_TIMEOUT, SC_HTTP_VERSION_NOT_SUPPORTED`

  - ### Properties Summary

    Properties
    Type | Name and description
    --- | ---
    `boolean` | `writerAvailable` Whether the writer is available

  - ### Constructor Summary

    Constructors
    Constructor and description
    `OutputAwareHttpServletResponse ()`

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `javax.servlet.ServletOutputStream` | `getOutputStream()`
    `` | `java.io.PrintWriter` | `getWriter()`

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class javax.servlet.http.HttpServletResponseWrapper` | `javax.servlet.http.HttpServletResponseWrapper#getHeader(java.lang.String), javax.servlet.http.HttpServletResponseWrapper#getHeaders(java.lang.String), javax.servlet.http.HttpServletResponseWrapper#getHeaderNames(), javax.servlet.http.HttpServletResponseWrapper#encodeURL(java.lang.String), javax.servlet.http.HttpServletResponseWrapper#encodeRedirectURL(java.lang.String), javax.servlet.http.HttpServletResponseWrapper#encodeUrl(java.lang.String), javax.servlet.http.HttpServletResponseWrapper#encodeRedirectUrl(java.lang.String), javax.servlet.http.HttpServletResponseWrapper#sendError(int), javax.servlet.http.HttpServletResponseWrapper#sendError(int, java.lang.String), javax.servlet.http.HttpServletResponseWrapper#sendRedirect(java.lang.String), javax.servlet.http.HttpServletResponseWrapper#setDateHeader(java.lang.String, long), javax.servlet.http.HttpServletResponseWrapper#addDateHeader(java.lang.String, long), javax.servlet.http.HttpServletResponseWrapper#setIntHeader(java.lang.String, int), javax.servlet.http.HttpServletResponseWrapper#addIntHeader(java.lang.String, int), javax.servlet.http.HttpServletResponseWrapper#setTrailerFields(java.util.function.Supplier), javax.servlet.http.HttpServletResponseWrapper#getTrailerFields(), javax.servlet.http.HttpServletResponseWrapper#containsHeader(java.lang.String), javax.servlet.http.HttpServletResponseWrapper#setHeader(java.lang.String, java.lang.String), javax.servlet.http.HttpServletResponseWrapper#addCookie(javax.servlet.http.Cookie), javax.servlet.http.HttpServletResponseWrapper#getStatus(), javax.servlet.http.HttpServletResponseWrapper#addHeader(java.lang.String, java.lang.String), javax.servlet.http.HttpServletResponseWrapper#setStatus(int), javax.servlet.http.HttpServletResponseWrapper#setStatus(int, java.lang.String), javax.servlet.http.HttpServletResponseWrapper#setLocale(java.util.Locale), javax.servlet.http.HttpServletResponseWrapper#getContentType(), javax.servlet.http.HttpServletResponseWrapper#setContentType(java.lang.String), javax.servlet.http.HttpServletResponseWrapper#setContentLength(int), javax.servlet.http.HttpServletResponseWrapper#getOutputStream(), javax.servlet.http.HttpServletResponseWrapper#getCharacterEncoding(), javax.servlet.http.HttpServletResponseWrapper#setCharacterEncoding(java.lang.String), javax.servlet.http.HttpServletResponseWrapper#getWriter(), javax.servlet.http.HttpServletResponseWrapper#setResponse(javax.servlet.ServletResponse), javax.servlet.http.HttpServletResponseWrapper#getLocale(), javax.servlet.http.HttpServletResponseWrapper#resetBuffer(), javax.servlet.http.HttpServletResponseWrapper#setContentLengthLong(long), javax.servlet.http.HttpServletResponseWrapper#isCommitted(), javax.servlet.http.HttpServletResponseWrapper#isWrapperFor(javax.servlet.ServletResponse), javax.servlet.http.HttpServletResponseWrapper#isWrapperFor(java.lang.Class), javax.servlet.http.HttpServletResponseWrapper#getBufferSize(), javax.servlet.http.HttpServletResponseWrapper#getResponse(), javax.servlet.http.HttpServletResponseWrapper#setBufferSize(int), javax.servlet.http.HttpServletResponseWrapper#reset(), javax.servlet.http.HttpServletResponseWrapper#flushBuffer(), javax.servlet.http.HttpServletResponseWrapper#wait(long), javax.servlet.http.HttpServletResponseWrapper#wait(long, int), javax.servlet.http.HttpServletResponseWrapper#wait(), javax.servlet.http.HttpServletResponseWrapper#equals(java.lang.Object), javax.servlet.http.HttpServletResponseWrapper#toString(), javax.servlet.http.HttpServletResponseWrapper#hashCode(), javax.servlet.http.HttpServletResponseWrapper#getClass(), javax.servlet.http.HttpServletResponseWrapper#notify(), javax.servlet.http.HttpServletResponseWrapper#notifyAll()`

- - ### Field Detail

    - #### private boolean writerAvailable

      Whether the writer is available

  - ### Property Detail

    - #### boolean writerAvailable

      Whether the writer is available

  - ### Constructor Detail

    - #### OutputAwareHttpServletResponse()

  - ### Method Detail

    - #### @java.lang.Override javax.servlet.ServletOutputStream getOutputStream()

    - #### @java.lang.Override java.io.PrintWriter getWriter()