jodd.io.http
Class HttpTransfer

java.lang.Object
  extended by jodd.io.http.HttpTransfer

public class HttpTransfer
extends java.lang.Object

Raw content of HTTP transfer for both requests and responses.


Field Summary
protected  byte[] body
           
static byte[] CRLF
           
protected  java.util.Map<java.lang.String,java.lang.String[]> headers
           
protected  java.lang.String host
           
protected  java.lang.String httpVersion
           
protected  java.lang.String method
           
protected  java.lang.String path
           
protected  int port
           
static byte[] SPACE
           
protected  int statusCode
           
protected  java.lang.String statusPhrase
           
 
Constructor Summary
HttpTransfer()
           
 
Method Summary
 void addHeader(java.lang.String name, int value)
           
 void addHeader(java.lang.String name, java.lang.String value)
          Adds parameter to header.
protected  void append(FastByteBuffer buff, java.lang.String string)
           
 java.net.URL buildURL()
          Builds URL from connection data: host, port and path.
 byte[] getBody()
          Returns body or null.
 java.lang.String getHeader(java.lang.String name)
          Returns value of header parameter.
 java.lang.String getHost()
          Returns request host name.
 java.lang.String getHttpVersion()
          Returns HTTP version string.
 java.lang.String getMethod()
          Returns request method.
 java.lang.String getPath()
          Returns request path.
 int getPort()
          Returns request port number.
 HttpParams getQueryParameters()
          Reads query parameters from the HttpTransfer path.
 HttpParams getRequestParameters()
          Returns request parameters.
 int getStatusCode()
          Returns response status code.
 java.lang.String getStatusPhrase()
          Returns response status phrase.
 void removeHeader(java.lang.String name)
          Removes some parameter from header.
 void send(java.net.HttpURLConnection huc)
          Sends data to HttpURLConnection.
 void send(java.io.OutputStream out)
          Sends complete HTTP transfer to output stream.
 void setBody(byte[] body)
          Specifies body.
 void setHost(java.lang.String host)
          Sets request host name.
 void setHttpVersion(java.lang.String httpVersion)
          Sets the HTTP version string.
 void setMethod(java.lang.String method)
          Specifies request method.
protected  void setMultipartRequestParameters(HttpParams httpParams)
           
 void setPath(java.lang.String path)
          Sets request path.
 void setPort(int port)
          Sets request port number.
 void setQueryParameters(HttpParams httpParams)
          Sets query parameters.
 void setRequestParameters(HttpParams httpParams)
          Sets the request parameters.
 void setStatusCode(int statusCode)
          Sets response status code.
 void setStatusPhrase(java.lang.String statusPhrase)
          Sets response status phrase.
 byte[] toArray()
          Converts HTTP transfer to byte array ready for sending.
 java.lang.String toString()
          String representation of the HTTP transfer bytes.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

httpVersion

protected java.lang.String httpVersion

host

protected java.lang.String host

port

protected int port

method

protected java.lang.String method

path

protected java.lang.String path

statusCode

protected int statusCode

statusPhrase

protected java.lang.String statusPhrase

headers

protected java.util.Map<java.lang.String,java.lang.String[]> headers

body

protected byte[] body

SPACE

public static final byte[] SPACE

CRLF

public static final byte[] CRLF
Constructor Detail

HttpTransfer

public HttpTransfer()
Method Detail

buildURL

public java.net.URL buildURL()
Builds URL from connection data: host, port and path.


getHttpVersion

public java.lang.String getHttpVersion()
Returns HTTP version string. By default it's "HTTP/1.1".


setHttpVersion

public void setHttpVersion(java.lang.String httpVersion)
Sets the HTTP version string. Must be formed like "HTTP/1.1".


getHost

public java.lang.String getHost()
Returns request host name.


setHost

public void setHost(java.lang.String host)
Sets request host name.


getPort

public int getPort()
Returns request port number.


setPort

public void setPort(int port)
Sets request port number.


getMethod

public java.lang.String getMethod()
Returns request method.


setMethod

public void setMethod(java.lang.String method)
Specifies request method.


getPath

public java.lang.String getPath()
Returns request path.


setPath

public void setPath(java.lang.String path)
Sets request path. Adds a slash if path doesn't start with one.


getStatusCode

public int getStatusCode()
Returns response status code.


setStatusCode

public void setStatusCode(int statusCode)
Sets response status code.


getStatusPhrase

public java.lang.String getStatusPhrase()
Returns response status phrase.


setStatusPhrase

public void setStatusPhrase(java.lang.String statusPhrase)
Sets response status phrase.


getHeader

public java.lang.String getHeader(java.lang.String name)
Returns value of header parameter.


removeHeader

public void removeHeader(java.lang.String name)
Removes some parameter from header.


addHeader

public void addHeader(java.lang.String name,
                      java.lang.String value)
Adds parameter to header. Existing parameter is overwritten. The order of header parameters is preserved.


addHeader

public void addHeader(java.lang.String name,
                      int value)
See Also:
addHeader(String, String)

getBody

public byte[] getBody()
Returns body or null.


setBody

public void setBody(byte[] body)
Specifies body.


setQueryParameters

public void setQueryParameters(HttpParams httpParams)
Sets query parameters.


getQueryParameters

public HttpParams getQueryParameters()
Reads query parameters from the HttpTransfer path. Path remains unmodified.


getRequestParameters

public HttpParams getRequestParameters()
Returns request parameters. For uploaded file, FileUpload is returned.


setRequestParameters

public void setRequestParameters(HttpParams httpParams)
Sets the request parameters. This can be done in two ways: by setting the simple form encoded parameters, or by setting multipart request parameters.


setMultipartRequestParameters

protected void setMultipartRequestParameters(HttpParams httpParams)
                                      throws java.io.IOException
Throws:
java.io.IOException

append

protected void append(FastByteBuffer buff,
                      java.lang.String string)

toArray

public byte[] toArray()
Converts HTTP transfer to byte array ready for sending.


toString

public java.lang.String toString()
String representation of the HTTP transfer bytes.

Overrides:
toString in class java.lang.Object

send

public void send(java.io.OutputStream out)
          throws java.io.IOException
Sends complete HTTP transfer to output stream.

Throws:
java.io.IOException

send

public void send(java.net.HttpURLConnection huc)
          throws java.io.IOException
Sends data to HttpURLConnection.

Throws:
java.io.IOException


Copyright © 2003-2012 Jodd Team