Class WebResponse

java.lang.Object
javax.servlet.ServletResponseWrapper
javax.servlet.http.HttpServletResponseWrapper
eu.webtoolkit.jwt.servlet.WebResponse
All Implemented Interfaces:
javax.servlet.http.HttpServletResponse, javax.servlet.ServletResponse

public class WebResponse extends javax.servlet.http.HttpServletResponseWrapper
A WebResponse which wraps the HttpServletResponse to support testing.

WebResponse is used instead of HttpServletRequest inside JWt's request handling, and also in WResource.handleRequest(WebRequest request, WebResponse response).

It augments the functionality of HttpServletResponse by having a constructor which serializes the response to an arbitrary output stream, for testing purposes.

See Also:
  • Field Summary

    Fields inherited from interface javax.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
    Create a response with no real ServletOutputStream.
    Construct which uses a custom output stream.
    WebResponse(javax.servlet.http.HttpServletResponse response, javax.servlet.http.HttpServletRequest request)
    Constructor which wraps a HttpServletResponse.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Flushes the response.
    int
    Returns the ID.
    javax.servlet.ServletOutputStream
    Returns the output stream.
    Returns a request parameter value.
    Returns the request's parameter map.
    Returns the request path information.
    Returns the request method.
    Returns the response type.
    boolean
    Returns whether this request is a WebSocket message.
    boolean
    Returns whether another WebSocket message is pending.
    boolean
    Returns whether this request is a WebSocket request.
    out()
    Returns a text writer.
    void
    setId(int i)
    Sets an ID to the WebResponse (used by JWt).
    void
    Sets the response type.

    Methods inherited from class javax.servlet.http.HttpServletResponseWrapper

    addCookie, addDateHeader, addHeader, addIntHeader, containsHeader, encodeRedirectUrl, encodeRedirectURL, encodeUrl, encodeURL, getHeader, getHeaderNames, getHeaders, getStatus, sendError, sendError, sendRedirect, setDateHeader, setHeader, setIntHeader, setStatus, setStatus

    Methods inherited from class javax.servlet.ServletResponseWrapper

    flushBuffer, getBufferSize, getCharacterEncoding, getContentType, getLocale, getResponse, getWriter, isCommitted, isWrapperFor, isWrapperFor, reset, resetBuffer, setBufferSize, setCharacterEncoding, setContentLength, 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 javax.servlet.ServletResponse

    flushBuffer, getBufferSize, getCharacterEncoding, getContentType, getLocale, getWriter, isCommitted, reset, resetBuffer, setBufferSize, setCharacterEncoding, setContentLength, setContentType, setLocale
  • Constructor Details

    • WebResponse

      public WebResponse(javax.servlet.http.HttpServletResponse response, javax.servlet.http.HttpServletRequest request)
      Constructor which wraps a HttpServletResponse.

      It also saves the corresponding request. This is for convenience, when wanting to change the rendering based on request information.

      Parameters:
      response - The HttpSerlvetResponse
      request - The HttpServletRequest
    • WebResponse

      public WebResponse(OutputStream out)
      Construct which uses a custom output stream.

      This constructor is useful for testing purposes, for simulating a browser request and sending the output to e.g. a file.

      Parameters:
      out - The custom output stream.
    • WebResponse

      public WebResponse()
      Create a response with no real ServletOutputStream. Used to set up a web socket response
  • Method Details

    • getOutputStream

      public javax.servlet.ServletOutputStream getOutputStream()
      Returns the output stream.

      Returns ServletResponseWrapper.getOutputStream() or the custom output stream passed to WebResponse(OutputStream).

      You should only use the output stream to transmit binary information. Use ServletResponseWrapper.getWriter() for text output.

      Specified by:
      getOutputStream in interface javax.servlet.ServletResponse
      Overrides:
      getOutputStream in class javax.servlet.ServletResponseWrapper
    • out

      public Writer out()
      Returns a text writer.

      This returns a writer set on the output stream, which encodes text in UTF-8 format.

      Returns:
      a writer for streaming text.
    • setId

      public void setId(int i)
      Sets an ID to the WebResponse (used by JWt).
      Parameters:
      i -
    • getId

      public int getId()
      Returns the ID.

      Returns the ID previously set using setId(int)

      Returns:
      the Id.
    • flush

      public void flush()
      Flushes the response.

      This flushes the writer.

    • getPathInfo

      public String getPathInfo()
      Returns the request path information.

      This returns the path information that was passed in the request.

      Returns:
      the request path information.
    • getParameter

      public String getParameter(String string)
      Returns a request parameter value.
      Parameters:
      string - the parameter name
      Returns:
      the request parameter value, or the empty string if the parameter was not set.
    • getRequestMethod

      public String getRequestMethod()
      Returns the request method.
      Returns:
      the request method.
    • getParameterMap

      public Map<String,String[]> getParameterMap()
      Returns the request's parameter map.
      Returns:
      the request's parameter map
    • isWebSocketRequest

      public boolean isWebSocketRequest()
      Returns whether this request is a WebSocket request. This is an internal JWt method.
    • isWebSocketMessage

      public boolean isWebSocketMessage()
      Returns whether this request is a WebSocket message. This is an internal JWt method.
    • isWebSocketMessagePending

      public boolean isWebSocketMessagePending()
      Returns whether another WebSocket message is pending. This is an internal JWt method.
    • setResponseType

      public void setResponseType(WebRequest.ResponseType responseType)
      Sets the response type. This is an internal JWt method.
    • getResponseType

      public WebRequest.ResponseType getResponseType()
      Returns the response type. This is an internal JWt method.