org.apache.felix.httplite.servlet
Class HttpServletResponseImpl

java.lang.Object
  extended by org.apache.felix.httplite.servlet.HttpServletResponseImpl
All Implemented Interfaces:
javax.servlet.http.HttpServletResponse, javax.servlet.ServletResponse

public class HttpServletResponseImpl
extends java.lang.Object
implements javax.servlet.http.HttpServletResponse

This class represents an HTTP response and handles sending properly formatted responses to HTTP requests.


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
HttpServletResponseImpl(java.io.OutputStream outputStream)
          Constructs an HTTP response for the specified server and request.
 
Method Summary
 void addCookie(javax.servlet.http.Cookie cookie)
           
 void addDateHeader(java.lang.String name, long date)
           
 void addHeader(java.lang.String name, java.lang.String value)
           
 void addIntHeader(java.lang.String name, int value)
           
static byte[] buildResponse(int code)
           
static byte[] buildResponse(int code, java.util.Map headers, java.lang.String userMessage, java.lang.String htmlStartTag)
          Build a response given input parameters.
static byte[] buildResponse(int code, java.lang.String userMessage)
           
 boolean containsHeader(java.lang.String name)
           
static void copy(java.io.InputStream input, java.io.OutputStream output)
          Copy an input stream to an output stream.
 java.lang.String encodeRedirectUrl(java.lang.String url)
           
 java.lang.String encodeRedirectURL(java.lang.String url)
           
 java.lang.String encodeUrl(java.lang.String url)
           
 java.lang.String encodeURL(java.lang.String url)
           
 void flushBuffer()
           
 int getBufferSize()
           
 java.lang.String getCharacterEncoding()
           
 java.lang.String getContentType()
           
 java.util.Locale getLocale()
           
 javax.servlet.ServletOutputStream getOutputStream()
           
 java.io.PrintWriter getWriter()
           
 boolean isCommitted()
           
 void reset()
           
 void resetBuffer()
           
 void sendContinueResponse()
          Static utility method to send a continue response.
 void sendError(int sc)
           
 void sendError(int sc, java.lang.String msg)
           
 void sendMissingHostResponse()
          Static utility method to send a missing host response.
 void sendMovedPermanently(java.lang.String hostname, int port, java.lang.String newURI)
          Static utility method to send a moved permanently response.
 void sendNotFoundResponse()
          Static utility method to send a Not Found (404) response.
 void sendNotImplementedResponse()
          Static utility method to send a not implemented response.
 void sendRedirect(java.lang.String location)
           
 void setBufferSize(int arg0)
           
 void setCharacterEncoding(java.lang.String arg0)
           
 void setConnectionType(java.lang.String type)
          Can be 'close' or 'Keep-Alive'.
 void setContentLength(int arg0)
           
 void setContentType(java.lang.String arg0)
           
 void setDateHeader(java.lang.String name, long date)
           
 void setHeader(java.lang.String name, java.lang.String value)
           
 void setIntHeader(java.lang.String name, int value)
           
 void setLocale(java.util.Locale arg0)
           
 void setStatus(int sc)
           
 void setStatus(int sc, java.lang.String sm)
           
 void writeToOutputStream(java.io.InputStream inputStream, boolean close)
          Copy the contents of the input to the output stream, then close the input stream.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HttpServletResponseImpl

public HttpServletResponseImpl(java.io.OutputStream outputStream)
Constructs an HTTP response for the specified server and request.

Parameters:
outputStream - The output stream for the client.
Method Detail

writeToOutputStream

public void writeToOutputStream(java.io.InputStream inputStream,
                                boolean close)
                         throws java.io.IOException
Copy the contents of the input to the output stream, then close the input stream.

Parameters:
inputStream - input stream
close - if connection should be closed
Throws:
java.io.IOException - on I/O error

copy

public static void copy(java.io.InputStream input,
                        java.io.OutputStream output)
                 throws java.io.IOException
Copy an input stream to an output stream.

Parameters:
input - InputStream
output - OutputStream
Throws:
java.io.IOException - on I/O error.

sendContinueResponse

public void sendContinueResponse()
                          throws java.io.IOException
Static utility method to send a continue response.

Throws:
java.io.IOException - If any I/O error occurs.

sendMissingHostResponse

public void sendMissingHostResponse()
                             throws java.io.IOException
Static utility method to send a missing host response.

Throws:
java.io.IOException - If any I/O error occurs.

sendNotImplementedResponse

public void sendNotImplementedResponse()
                                throws java.io.IOException
Static utility method to send a not implemented response.

Throws:
java.io.IOException - If any I/O error occurs.

sendMovedPermanently

public void sendMovedPermanently(java.lang.String hostname,
                                 int port,
                                 java.lang.String newURI)
                          throws java.io.IOException
Static utility method to send a moved permanently response.

Parameters:
hostname - The hostname of the new location.
port - The port of the new location.
newURI - The path of the new location.
Throws:
java.io.IOException - If any I/O error occurs.

sendNotFoundResponse

public void sendNotFoundResponse()
                          throws java.io.IOException
Static utility method to send a Not Found (404) response.

Throws:
java.io.IOException - If any I/O error occurs.

flushBuffer

public void flushBuffer()
                 throws java.io.IOException
Specified by:
flushBuffer in interface javax.servlet.ServletResponse
Throws:
java.io.IOException

getBufferSize

public int getBufferSize()
Specified by:
getBufferSize in interface javax.servlet.ServletResponse

getCharacterEncoding

public java.lang.String getCharacterEncoding()
Specified by:
getCharacterEncoding in interface javax.servlet.ServletResponse

getContentType

public java.lang.String getContentType()
Specified by:
getContentType in interface javax.servlet.ServletResponse

getLocale

public java.util.Locale getLocale()
Specified by:
getLocale in interface javax.servlet.ServletResponse

getOutputStream

public javax.servlet.ServletOutputStream getOutputStream()
                                                  throws java.io.IOException
Specified by:
getOutputStream in interface javax.servlet.ServletResponse
Throws:
java.io.IOException

getWriter

public java.io.PrintWriter getWriter()
                              throws java.io.IOException
Specified by:
getWriter in interface javax.servlet.ServletResponse
Throws:
java.io.IOException

isCommitted

public boolean isCommitted()
Specified by:
isCommitted in interface javax.servlet.ServletResponse

reset

public void reset()
Specified by:
reset in interface javax.servlet.ServletResponse

resetBuffer

public void resetBuffer()
Specified by:
resetBuffer in interface javax.servlet.ServletResponse

setBufferSize

public void setBufferSize(int arg0)
Specified by:
setBufferSize in interface javax.servlet.ServletResponse

setCharacterEncoding

public void setCharacterEncoding(java.lang.String arg0)
Specified by:
setCharacterEncoding in interface javax.servlet.ServletResponse

setContentLength

public void setContentLength(int arg0)
Specified by:
setContentLength in interface javax.servlet.ServletResponse

setConnectionType

public void setConnectionType(java.lang.String type)
Can be 'close' or 'Keep-Alive'.

Parameters:
type -

setContentType

public void setContentType(java.lang.String arg0)
Specified by:
setContentType in interface javax.servlet.ServletResponse

setLocale

public void setLocale(java.util.Locale arg0)
Specified by:
setLocale in interface javax.servlet.ServletResponse

addCookie

public void addCookie(javax.servlet.http.Cookie cookie)
Specified by:
addCookie in interface javax.servlet.http.HttpServletResponse

containsHeader

public boolean containsHeader(java.lang.String name)
Specified by:
containsHeader in interface javax.servlet.http.HttpServletResponse

encodeURL

public java.lang.String encodeURL(java.lang.String url)
Specified by:
encodeURL in interface javax.servlet.http.HttpServletResponse

encodeRedirectURL

public java.lang.String encodeRedirectURL(java.lang.String url)
Specified by:
encodeRedirectURL in interface javax.servlet.http.HttpServletResponse

encodeUrl

public java.lang.String encodeUrl(java.lang.String url)
Specified by:
encodeUrl in interface javax.servlet.http.HttpServletResponse

encodeRedirectUrl

public java.lang.String encodeRedirectUrl(java.lang.String url)
Specified by:
encodeRedirectUrl in interface javax.servlet.http.HttpServletResponse

sendError

public void sendError(int sc,
                      java.lang.String msg)
               throws java.io.IOException
Specified by:
sendError in interface javax.servlet.http.HttpServletResponse
Throws:
java.io.IOException

sendError

public void sendError(int sc)
               throws java.io.IOException
Specified by:
sendError in interface javax.servlet.http.HttpServletResponse
Throws:
java.io.IOException

sendRedirect

public void sendRedirect(java.lang.String location)
                  throws java.io.IOException
Specified by:
sendRedirect in interface javax.servlet.http.HttpServletResponse
Throws:
java.io.IOException

setDateHeader

public void setDateHeader(java.lang.String name,
                          long date)
Specified by:
setDateHeader in interface javax.servlet.http.HttpServletResponse

addDateHeader

public void addDateHeader(java.lang.String name,
                          long date)
Specified by:
addDateHeader in interface javax.servlet.http.HttpServletResponse

setHeader

public void setHeader(java.lang.String name,
                      java.lang.String value)
Specified by:
setHeader in interface javax.servlet.http.HttpServletResponse

addHeader

public void addHeader(java.lang.String name,
                      java.lang.String value)
Specified by:
addHeader in interface javax.servlet.http.HttpServletResponse

setIntHeader

public void setIntHeader(java.lang.String name,
                         int value)
Specified by:
setIntHeader in interface javax.servlet.http.HttpServletResponse

addIntHeader

public void addIntHeader(java.lang.String name,
                         int value)
Specified by:
addIntHeader in interface javax.servlet.http.HttpServletResponse

setStatus

public void setStatus(int sc)
Specified by:
setStatus in interface javax.servlet.http.HttpServletResponse

setStatus

public void setStatus(int sc,
                      java.lang.String sm)
Specified by:
setStatus in interface javax.servlet.http.HttpServletResponse

buildResponse

public static byte[] buildResponse(int code)
Parameters:
code - HTTP code
Returns:
byte array of response

buildResponse

public static byte[] buildResponse(int code,
                                   java.lang.String userMessage)
Parameters:
code - HTTP code
userMessage - user message
Returns:
byte array of response

buildResponse

public static byte[] buildResponse(int code,
                                   java.util.Map headers,
                                   java.lang.String userMessage,
                                   java.lang.String htmlStartTag)
Build a response given input parameters.

Parameters:
code - HTTP code
headers - Map of HTTP headers
userMessage - user message
htmlStartTag - custom HTML document start
Returns:
byte array of response.


Copyright © 2006-2012 The Apache Software Foundation. All Rights Reserved.