Facemorph
Class ClientHttpRequest

java.lang.Object
  extended by Facemorph.ClientHttpRequest

public class ClientHttpRequest
extends java.lang.Object

Title: Client HTTP Request class

Description: this class helps to send POST HTTP requests with various form data, including files. Cookies can be added to be included in the request.


Constructor Summary
ClientHttpRequest(java.lang.String urlString)
          Creates a new multipart POST HTTP request for a specified URL string
ClientHttpRequest(java.net.URL url)
          Creates a new multipart POST HTTP request for a specified URL
ClientHttpRequest(java.net.URLConnection connection)
          Creates a new multipart POST HTTP request on a freshly opened URLConnection
 
Method Summary
protected  void connect()
          Opens the output stream if it is not already open
protected  void newline()
          Writes a newline character (\r\n) to the output stream, opening the output stream if required
 java.io.InputStream post()
          posts the requests to the server, with all the cookies and parameters that were added
 java.io.InputStream post(java.util.Map parameters)
          posts the requests to the server, with all the cookies and parameters that were added before (if any), and with parameters that are passed in the argument
 java.io.InputStream post(java.util.Map cookies, java.util.Map parameters)
          posts the requests to the server, with all the cookies and parameters that were added before (if any), and with cookies and parameters that are passed in the arguments
 java.io.InputStream post(java.lang.Object[] parameters)
          posts the requests to the server, with all the cookies and parameters that were added before (if any), and with parameters that are passed in the argument
 java.io.InputStream post(java.lang.String[] cookies, java.lang.Object[] parameters)
          posts the requests to the server, with all the cookies and parameters that were added before (if any), and with cookies and parameters that are passed in the arguments
 java.io.InputStream post(java.lang.String name, java.lang.Object value)
          post the POST request to the server, with the specified parameter
 java.io.InputStream post(java.lang.String name1, java.lang.Object value1, java.lang.String name2, java.lang.Object value2)
          post the POST request to the server, with the specified parameters
 java.io.InputStream post(java.lang.String name1, java.lang.Object value1, java.lang.String name2, java.lang.Object value2, java.lang.String name3, java.lang.Object value3)
          post the POST request to the server, with the specified parameters
 java.io.InputStream post(java.lang.String name1, java.lang.Object value1, java.lang.String name2, java.lang.Object value2, java.lang.String name3, java.lang.Object value3, java.lang.String name4, java.lang.Object value4)
          post the POST request to the server, with the specified parameters
static java.io.InputStream post(java.net.URL url, java.util.Map parameters)
          posts a new request to specified URL, with parameters that are passed in the argument
static java.io.InputStream post(java.net.URL url, java.util.Map cookies, java.util.Map parameters)
          posts a new request to specified URL, with cookies and parameters that are passed in the argument
static java.io.InputStream post(java.net.URL url, java.lang.Object[] parameters)
          posts a new request to specified URL, with parameters that are passed in the argument
static java.io.InputStream post(java.net.URL url, java.lang.String[] cookies, java.lang.Object[] parameters)
          posts a new request to specified URL, with cookies and parameters that are passed in the argument
static java.io.InputStream post(java.net.URL url, java.lang.String name1, java.lang.Object value1)
          post the POST request specified URL, with the specified parameter
static java.io.InputStream post(java.net.URL url, java.lang.String name1, java.lang.Object value1, java.lang.String name2, java.lang.Object value2)
          post the POST request to specified URL, with the specified parameters
static java.io.InputStream post(java.net.URL url, java.lang.String name1, java.lang.Object value1, java.lang.String name2, java.lang.Object value2, java.lang.String name3, java.lang.Object value3)
          post the POST request to specified URL, with the specified parameters
static java.io.InputStream post(java.net.URL url, java.lang.String name1, java.lang.Object value1, java.lang.String name2, java.lang.Object value2, java.lang.String name3, java.lang.Object value3, java.lang.String name4, java.lang.Object value4)
          post the POST request to specified URL, with the specified parameters
protected static java.lang.String randomString()
          Generates a random string to use in the boundary
 void setCookie(java.lang.String name, java.lang.String value)
          adds a cookie to the requst
 void setCookies(java.util.Map cookies)
          adds cookies to the request
 void setCookies(java.lang.String[] cookies)
          adds cookies to the request
 void setParameter(java.lang.String name, java.io.File file)
          adds a file parameter to the request
 void setParameter(java.lang.String name, java.lang.Object object)
          adds a parameter to the request; if the parameter is a File, the file is uploaded, otherwise the string value of the parameter is passed in the request
 void setParameter(java.lang.String name, java.lang.String value)
          adds a string parameter to the request
 void setParameter(java.lang.String name, java.lang.String filename, java.io.InputStream is)
          adds a file parameter to the request
 void setParameters(java.util.Map parameters)
          adds parameters to the request
 void setParameters(java.lang.Object[] parameters)
          adds parameters to the request
protected  void write(char c)
          Writes a single character to the output stream, opening the output stream if required
protected  void write(java.lang.String s)
          Writes a string to the output stream, opening the output stream if required
protected  void writeln(java.lang.String s)
          Writes a String to the output stream, followed by a newline opening the output stream if required
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ClientHttpRequest

public ClientHttpRequest(java.net.URLConnection connection)
                  throws java.io.IOException
Creates a new multipart POST HTTP request on a freshly opened URLConnection

Parameters:
connection - an already open URL connection
Throws:
java.io.IOException - thrown if problem making connection

ClientHttpRequest

public ClientHttpRequest(java.net.URL url)
                  throws java.io.IOException
Creates a new multipart POST HTTP request for a specified URL

Parameters:
url - the URL to send request to
Throws:
java.io.IOException - thrown if problem making connection

ClientHttpRequest

public ClientHttpRequest(java.lang.String urlString)
                  throws java.io.IOException
Creates a new multipart POST HTTP request for a specified URL string

Parameters:
urlString - the string representation of the URL to send request to
Throws:
java.io.IOException - thrown if problem making connection
Method Detail

connect

protected void connect()
                throws java.io.IOException
Opens the output stream if it is not already open

Throws:
java.io.IOException - throws an exception if connect fails

write

protected void write(char c)
              throws java.io.IOException
Writes a single character to the output stream, opening the output stream if required

Parameters:
c - the character to write
Throws:
java.io.IOException - throws an exception if connect or write fails

write

protected void write(java.lang.String s)
              throws java.io.IOException
Writes a string to the output stream, opening the output stream if required

Parameters:
s - the String to write
Throws:
java.io.IOException - throws an exception if connect or write fails

newline

protected void newline()
                throws java.io.IOException
Writes a newline character (\r\n) to the output stream, opening the output stream if required

Throws:
java.io.IOException - throws an exception if connect or write fails

writeln

protected void writeln(java.lang.String s)
                throws java.io.IOException
Writes a String to the output stream, followed by a newline opening the output stream if required

Parameters:
s - the String to write
Throws:
java.io.IOException - throws an exception if connect or write fails

randomString

protected static java.lang.String randomString()
Generates a random string to use in the boundary

Returns:
returns a random string

setCookie

public void setCookie(java.lang.String name,
                      java.lang.String value)
               throws java.io.IOException
adds a cookie to the requst

Parameters:
name - cookie name
value - cookie value
Throws:
java.io.IOException - thrown if problem with connection

setCookies

public void setCookies(java.util.Map cookies)
                throws java.io.IOException
adds cookies to the request

Parameters:
cookies - the cookie "name-to-value" map
Throws:
java.io.IOException - thrown if problem with connection

setCookies

public void setCookies(java.lang.String[] cookies)
                throws java.io.IOException
adds cookies to the request

Parameters:
cookies - array of cookie names and values (cookies[2*i] is a name, cookies[2*i + 1] is a value)
Throws:
java.io.IOException - thrown if problem with connection

setParameter

public void setParameter(java.lang.String name,
                         java.lang.String value)
                  throws java.io.IOException
adds a string parameter to the request

Parameters:
name - parameter name
value - parameter value
Throws:
java.io.IOException - thrown if problem with connection

setParameter

public void setParameter(java.lang.String name,
                         java.lang.String filename,
                         java.io.InputStream is)
                  throws java.io.IOException
adds a file parameter to the request

Parameters:
name - parameter name
filename - the name of the file
is - input stream to read the contents of the file from
Throws:
java.io.IOException - thrown if problem with connection

setParameter

public void setParameter(java.lang.String name,
                         java.io.File file)
                  throws java.io.IOException
adds a file parameter to the request

Parameters:
name - parameter name
file - the file to upload
Throws:
java.io.IOException - thrown if problem with connection

setParameter

public void setParameter(java.lang.String name,
                         java.lang.Object object)
                  throws java.io.IOException
adds a parameter to the request; if the parameter is a File, the file is uploaded, otherwise the string value of the parameter is passed in the request

Parameters:
name - parameter name
object - parameter value, a File or anything else that can be stringified
Throws:
java.io.IOException - thrown if problem with connection

setParameters

public void setParameters(java.util.Map parameters)
                   throws java.io.IOException
adds parameters to the request

Parameters:
parameters - "name-to-value" map of parameters; if a value is a file, the file is uploaded, otherwise it is stringified and sent in the request
Throws:
java.io.IOException - thrown if problem with connection

setParameters

public void setParameters(java.lang.Object[] parameters)
                   throws java.io.IOException
adds parameters to the request

Parameters:
parameters - array of parameter names and values (parameters[2*i] is a name, parameters[2*i + 1] is a value); if a value is a file, the file is uploaded, otherwise it is stringified and sent in the request
Throws:
java.io.IOException - thrown if problem with connection

post

public java.io.InputStream post()
                         throws java.io.IOException
posts the requests to the server, with all the cookies and parameters that were added

Returns:
input stream with the server response
Throws:
java.io.IOException - thrown if problem with connection

post

public java.io.InputStream post(java.util.Map parameters)
                         throws java.io.IOException
posts the requests to the server, with all the cookies and parameters that were added before (if any), and with parameters that are passed in the argument

Parameters:
parameters - request parameters
Returns:
input stream with the server response
Throws:
java.io.IOException - thrown if problem with connection

post

public java.io.InputStream post(java.lang.Object[] parameters)
                         throws java.io.IOException
posts the requests to the server, with all the cookies and parameters that were added before (if any), and with parameters that are passed in the argument

Parameters:
parameters - request parameters
Returns:
input stream with the server response
Throws:
java.io.IOException - thrown if problem with connection

post

public java.io.InputStream post(java.util.Map cookies,
                                java.util.Map parameters)
                         throws java.io.IOException
posts the requests to the server, with all the cookies and parameters that were added before (if any), and with cookies and parameters that are passed in the arguments

Parameters:
cookies - request cookies
parameters - request parameters
Returns:
input stream with the server response
Throws:
java.io.IOException - thrown if problem with connection

post

public java.io.InputStream post(java.lang.String[] cookies,
                                java.lang.Object[] parameters)
                         throws java.io.IOException
posts the requests to the server, with all the cookies and parameters that were added before (if any), and with cookies and parameters that are passed in the arguments

Parameters:
cookies - request cookies
parameters - request parameters
Returns:
input stream with the server response
Throws:
java.io.IOException - thrown if problem with connection

post

public java.io.InputStream post(java.lang.String name,
                                java.lang.Object value)
                         throws java.io.IOException
post the POST request to the server, with the specified parameter

Parameters:
name - parameter name
value - parameter value
Returns:
input stream with the server response
Throws:
java.io.IOException - thrown if problem with connection

post

public java.io.InputStream post(java.lang.String name1,
                                java.lang.Object value1,
                                java.lang.String name2,
                                java.lang.Object value2)
                         throws java.io.IOException
post the POST request to the server, with the specified parameters

Parameters:
name1 - first parameter name
value1 - first parameter value
name2 - second parameter name
value2 - second parameter value
Returns:
input stream with the server response
Throws:
java.io.IOException - thrown if problem with connection

post

public java.io.InputStream post(java.lang.String name1,
                                java.lang.Object value1,
                                java.lang.String name2,
                                java.lang.Object value2,
                                java.lang.String name3,
                                java.lang.Object value3)
                         throws java.io.IOException
post the POST request to the server, with the specified parameters

Parameters:
name1 - first parameter name
value1 - first parameter value
name2 - second parameter name
value2 - second parameter value
name3 - third parameter name
value3 - third parameter value
Returns:
input stream with the server response
Throws:
java.io.IOException - thrown if problem with connection

post

public java.io.InputStream post(java.lang.String name1,
                                java.lang.Object value1,
                                java.lang.String name2,
                                java.lang.Object value2,
                                java.lang.String name3,
                                java.lang.Object value3,
                                java.lang.String name4,
                                java.lang.Object value4)
                         throws java.io.IOException
post the POST request to the server, with the specified parameters

Parameters:
name1 - first parameter name
value1 - first parameter value
name2 - second parameter name
value2 - second parameter value
name3 - third parameter name
value3 - third parameter value
name4 - fourth parameter name
value4 - fourth parameter value
Returns:
input stream with the server response
Throws:
java.io.IOException - thrown if problem with connection

post

public static java.io.InputStream post(java.net.URL url,
                                       java.util.Map parameters)
                                throws java.io.IOException
posts a new request to specified URL, with parameters that are passed in the argument

Parameters:
url - The URL to post to
parameters - request parameters
Returns:
input stream with the server response
Throws:
java.io.IOException - thrown if problem with connection

post

public static java.io.InputStream post(java.net.URL url,
                                       java.lang.Object[] parameters)
                                throws java.io.IOException
posts a new request to specified URL, with parameters that are passed in the argument

Parameters:
parameters - request parameters
url - The URL to post to
Returns:
input stream with the server response
Throws:
java.io.IOException - thrown if problem with connection

post

public static java.io.InputStream post(java.net.URL url,
                                       java.util.Map cookies,
                                       java.util.Map parameters)
                                throws java.io.IOException
posts a new request to specified URL, with cookies and parameters that are passed in the argument

Parameters:
url - The URL to post to
cookies - request cookies
parameters - request parameters
Returns:
input stream with the server response
Throws:
java.io.IOException - thrown if problem with connection

post

public static java.io.InputStream post(java.net.URL url,
                                       java.lang.String[] cookies,
                                       java.lang.Object[] parameters)
                                throws java.io.IOException
posts a new request to specified URL, with cookies and parameters that are passed in the argument

Parameters:
url - The URL to post to
cookies - request cookies
parameters - request parameters
Returns:
input stream with the server response
Throws:
java.io.IOException - thrown if problem with connection

post

public static java.io.InputStream post(java.net.URL url,
                                       java.lang.String name1,
                                       java.lang.Object value1)
                                throws java.io.IOException
post the POST request specified URL, with the specified parameter

Parameters:
url - The URL to post to
name1 - parameter name
value1 - parameter value
Returns:
input stream with the server response
Throws:
java.io.IOException - thrown if problem with connection

post

public static java.io.InputStream post(java.net.URL url,
                                       java.lang.String name1,
                                       java.lang.Object value1,
                                       java.lang.String name2,
                                       java.lang.Object value2)
                                throws java.io.IOException
post the POST request to specified URL, with the specified parameters

Parameters:
url - The URL to post to
name1 - first parameter name
value1 - first parameter value
name2 - second parameter name
value2 - second parameter value
Returns:
input stream with the server response
Throws:
java.io.IOException - thrown if problem with connection

post

public static java.io.InputStream post(java.net.URL url,
                                       java.lang.String name1,
                                       java.lang.Object value1,
                                       java.lang.String name2,
                                       java.lang.Object value2,
                                       java.lang.String name3,
                                       java.lang.Object value3)
                                throws java.io.IOException
post the POST request to specified URL, with the specified parameters

Parameters:
url - The URL to post to
name1 - first parameter name
value1 - first parameter value
name2 - second parameter name
value2 - second parameter value
name3 - third parameter name
value3 - third parameter value
Returns:
input stream with the server response
Throws:
java.io.IOException - thrown if problem with connection

post

public static java.io.InputStream post(java.net.URL url,
                                       java.lang.String name1,
                                       java.lang.Object value1,
                                       java.lang.String name2,
                                       java.lang.Object value2,
                                       java.lang.String name3,
                                       java.lang.Object value3,
                                       java.lang.String name4,
                                       java.lang.Object value4)
                                throws java.io.IOException
post the POST request to specified URL, with the specified parameters

Parameters:
url - The URL to post to
name1 - first parameter name
value1 - first parameter value
name2 - second parameter name
value2 - second parameter value
name3 - third parameter name
value3 - third parameter value
name4 - fourth parameter name
value4 - fourth parameter value
Returns:
input stream with the server response
Throws:
java.io.IOException - thrown if problem with connection