org.apache.shindig.gadgets.http
Class HttpResponseBuilder

java.lang.Object
  extended by org.apache.shindig.gadgets.rewrite.MutableContent
      extended by org.apache.shindig.gadgets.http.HttpResponseBuilder

public class HttpResponseBuilder
extends MutableContent

Constructs HttpResponse objects.


Constructor Summary
HttpResponseBuilder()
           
HttpResponseBuilder(GadgetHtmlParser parser, HttpResponse response)
           
HttpResponseBuilder(HttpResponse response)
           
HttpResponseBuilder(HttpResponseBuilder builder)
           
 
Method Summary
 HttpResponseBuilder addAllHeaders(Map<String,? extends List<String>> headers)
           
 HttpResponseBuilder addHeader(String name, String value)
           
 HttpResponseBuilder addHeaders(Map<String,String> headers)
           
 HttpResponseBuilder clearAllHeaders()
           
 HttpResponse create()
           
 int getContentLength()
           
 String getHeader(String name)
           
 int getHttpStatusCode()
           
 Collection<String> removeHeader(String name)
           
 HttpResponseBuilder setCacheTtl(int cacheTtl)
           
protected  void setContentBytesState(byte[] newBytes, Charset newEncoding)
          Ensures that, when setting content bytes, the bytes' encoding is reflected in the current Content-Type header.
 HttpResponseBuilder setEncoding(Charset charset)
           
 HttpResponseBuilder setExpirationTime(long expirationTime)
           
 HttpResponseBuilder setHeader(String name, String value)
           
 HttpResponseBuilder setHttpStatusCode(int httpStatusCode)
           
 HttpResponseBuilder setMetadata(Map<String,String> metadata)
           
 HttpResponseBuilder setMetadata(String key, String value)
           
 HttpResponseBuilder setResponse(byte[] responseBytes)
           
 HttpResponseBuilder setResponseNoCopy(byte[] responseBytes)
           
 HttpResponseBuilder setResponseString(String body)
           
 HttpResponseBuilder setStrictNoCache()
           
 
Methods inherited from class org.apache.shindig.gadgets.rewrite.MutableContent
addPipelinedData, documentChanged, getContent, getContentBytes, getDocument, getNumChanges, getPipelinedData, getRawContentBytes, hasDocument, incrementNumChanges, notifyEdit, setContent, setContentBytes, setContentBytes
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HttpResponseBuilder

public HttpResponseBuilder(GadgetHtmlParser parser,
                           HttpResponse response)

HttpResponseBuilder

public HttpResponseBuilder()

HttpResponseBuilder

public HttpResponseBuilder(HttpResponseBuilder builder)

HttpResponseBuilder

public HttpResponseBuilder(HttpResponse response)
Method Detail

create

public HttpResponse create()
Returns:
A new HttpResponse.

setResponseString

public HttpResponseBuilder setResponseString(String body)
Parameters:
body - The response string. Converted to UTF-8 bytes and copied when set.

setEncoding

public HttpResponseBuilder setEncoding(Charset charset)

setResponse

public HttpResponseBuilder setResponse(byte[] responseBytes)
Parameters:
responseBytes - The response body. Copied when set.

setResponseNoCopy

public HttpResponseBuilder setResponseNoCopy(byte[] responseBytes)
Parameters:
responseBytes - The response body. Not copied when set.

setHttpStatusCode

public HttpResponseBuilder setHttpStatusCode(int httpStatusCode)

clearAllHeaders

public HttpResponseBuilder clearAllHeaders()

addHeader

public HttpResponseBuilder addHeader(String name,
                                     String value)

setHeader

public HttpResponseBuilder setHeader(String name,
                                     String value)

getHeader

public String getHeader(String name)

addHeaders

public HttpResponseBuilder addHeaders(Map<String,String> headers)

addAllHeaders

public HttpResponseBuilder addAllHeaders(Map<String,? extends List<String>> headers)

removeHeader

public Collection<String> removeHeader(String name)

setCacheTtl

public HttpResponseBuilder setCacheTtl(int cacheTtl)

setExpirationTime

public HttpResponseBuilder setExpirationTime(long expirationTime)

setStrictNoCache

public HttpResponseBuilder setStrictNoCache()

setMetadata

public HttpResponseBuilder setMetadata(String key,
                                       String value)

setMetadata

public HttpResponseBuilder setMetadata(Map<String,String> metadata)

getContentLength

public int getContentLength()

getHttpStatusCode

public int getHttpStatusCode()

setContentBytesState

protected void setContentBytesState(byte[] newBytes,
                                    Charset newEncoding)
Ensures that, when setting content bytes, the bytes' encoding is reflected in the current Content-Type header. Note, this method does NOT override existing Content-Type values if newEncoding is null. This allows charset to be set by header only, along with a byte array -- a very typical, and important, pattern when creating an HttpResponse in an HttpFetcher.

Overrides:
setContentBytesState in class MutableContent
Parameters:
newBytes - New content.
newEncoding - Encoding for the bytes, or null for unspecified.


Copyright © 2007-2012. All Rights Reserved.