com.meterware.httpunit
Class WebRequest

java.lang.Object
  |
  +--com.meterware.httpunit.WebRequest
Direct Known Subclasses:
GetMethodWebRequest, MessageBodyWebRequest

public abstract class WebRequest
extends Object

A request sent to a web server.


Constructor Summary
protected WebRequest(String urlString)
          Constructs a web request using an absolute URL string.
protected WebRequest(URL urlBase, String urlString)
          Constructs a web request using a base URL and a relative URL string.
protected WebRequest(URL urlBase, String urlString, String target)
          Constructs a web request using a base URL, a relative URL string, and a target.
protected WebRequest(WebForm sourceForm, SubmitButton button, int x, int y)
          Constructs a web request from a form.
protected WebRequest(WebRequestSource requestSource)
           
protected WebRequest(WebRequest baseRequest, String urlString, String target)
          Constructs a web request using a base request and a relative URL string.
 
Method Summary
protected  void completeRequest(URLConnection connection)
          Performs any additional processing necessary to complete the request.
protected  String getCharacterSet()
          Returns the character set required for this request.
protected  String getContentType()
          Returns the content type of this request.
 Dictionary getHeaders()
          Returns a copy of the headers to be sent with this request.
abstract  String getMethod()
          Returns the HTTP method defined for this request.
 String getParameter(String name)
          Returns the value of a parameter in this web request.
protected  ParameterHolder getParameterHolder()
           
 Enumeration getParameterNames()
          Deprecated. use getRequestParameterNames instead
 String[] getParameterValues(String name)
          Returns the multiple default values of the named parameter.
 String getQueryString()
          Returns the query string defined for this request.
 String[] getRequestParameterNames()
          Returns an array of all parameter names in this web request.
 String getTarget()
          Returns the target for this web request.
 URL getURL()
          Returns the final URL associated with this web request.
protected  URL getURLBase()
           
protected  String getURLString()
           
 boolean isFileParameter(String name)
          Returns true if the specified parameter is a file field.
protected  boolean isMimeEncoded()
          Returns true if this request is to be MIME-encoded.
protected  boolean maySelectFile(String parameterName)
          Returns true if selectFile may be called with this parameter.
 void removeParameter(String name)
          Removes a parameter from this web request.
 void selectFile(String parameterName, File file)
          Sets the file for a parameter upload in a web request.
 void selectFile(String parameterName, File file, String contentType)
          Sets the file for a parameter upload in a web request.
 void selectFile(String parameterName, String fileName, InputStream inputStream, String contentType)
          Sets the file for a parameter upload in a web request.
 void setHeaderField(String headerName, String headerValue)
          Sets the value of a header to be sent with this request.
 void setImageButtonClickPosition(int x, int y)
          Specifies the click position for the submit button.
protected  void setMimeEncoded(boolean mimeEncoded)
          Selects whether MIME-encoding will be used for this request.
 void setParameter(String name, String value)
          Sets the value of a parameter in a web request.
 void setParameter(String name, String[] values)
          Sets the multiple values of a parameter in a web request.
 void setParameter(String parameterName, UploadFileSpec[] files)
          Sets the multiple values of a file upload parameter in a web request.
 String toString()
           
protected  void writeMessageBody(OutputStream stream)
          Writes the contents of the message body to the specified stream.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

WebRequest

protected WebRequest(String urlString)
Constructs a web request using an absolute URL string.

WebRequest

protected WebRequest(URL urlBase,
                     String urlString)
Constructs a web request using a base URL and a relative URL string.

WebRequest

protected WebRequest(WebRequest baseRequest,
                     String urlString,
                     String target)
              throws MalformedURLException
Constructs a web request using a base request and a relative URL string.

WebRequest

protected WebRequest(URL urlBase,
                     String urlString,
                     String target)
Constructs a web request using a base URL, a relative URL string, and a target.

WebRequest

protected WebRequest(WebForm sourceForm,
                     SubmitButton button,
                     int x,
                     int y)
Constructs a web request from a form.

WebRequest

protected WebRequest(WebRequestSource requestSource)
Method Detail

setHeaderField

public void setHeaderField(String headerName,
                           String headerValue)
Sets the value of a header to be sent with this request. A header set here will override any matching header set in the WebClient when the request is actually sent.

getHeaders

public Dictionary getHeaders()
Returns a copy of the headers to be sent with this request.

getURL

public URL getURL()
           throws MalformedURLException
Returns the final URL associated with this web request.

getTarget

public String getTarget()
Returns the target for this web request.

getMethod

public abstract String getMethod()
Returns the HTTP method defined for this request.

getQueryString

public String getQueryString()
Returns the query string defined for this request. The query string is sent to the HTTP server as part of the request header. This default implementation returns an empty string.

setParameter

public void setParameter(String name,
                         String value)
Sets the value of a parameter in a web request.

setParameter

public void setParameter(String name,
                         String[] values)
Sets the multiple values of a parameter in a web request.

setParameter

public void setParameter(String parameterName,
                         UploadFileSpec[] files)
Sets the multiple values of a file upload parameter in a web request.

setImageButtonClickPosition

public void setImageButtonClickPosition(int x,
                                        int y)
                                 throws IllegalRequestParameterException
Specifies the click position for the submit button. When a user clioks on an image button, not only the name and value of the button, but also the position of the mouse at the time of the click is submitted with the form. This method allows the caller to override the position selected when this request was created.
Throws:
IllegalRequestParameterException - thrown if the request was not created from a form with an image button.

isFileParameter

public boolean isFileParameter(String name)
Returns true if the specified parameter is a file field.

selectFile

public void selectFile(String parameterName,
                       File file)
Sets the file for a parameter upload in a web request.

selectFile

public void selectFile(String parameterName,
                       File file,
                       String contentType)
Sets the file for a parameter upload in a web request.

selectFile

public void selectFile(String parameterName,
                       String fileName,
                       InputStream inputStream,
                       String contentType)
Sets the file for a parameter upload in a web request.

getParameterNames

public Enumeration getParameterNames()
Deprecated. use getRequestParameterNames instead

Returns an enumeration of all parameters in this web request.

getRequestParameterNames

public String[] getRequestParameterNames()
Returns an array of all parameter names in this web request.
Since:
1.3.1

getParameter

public String getParameter(String name)
Returns the value of a parameter in this web request.
Returns:
the value of the named parameter, or empty string if it is not set.

getParameterValues

public String[] getParameterValues(String name)
Returns the multiple default values of the named parameter.

removeParameter

public void removeParameter(String name)
Removes a parameter from this web request.

toString

public String toString()
Overrides:
toString in class Object

maySelectFile

protected boolean maySelectFile(String parameterName)
Returns true if selectFile may be called with this parameter.

setMimeEncoded

protected void setMimeEncoded(boolean mimeEncoded)
Selects whether MIME-encoding will be used for this request. MIME-encoding changes the way the request is sent and is required for requests which include file parameters. This method may only be called for a POST request which was not created from a form.

isMimeEncoded

protected boolean isMimeEncoded()
Returns true if this request is to be MIME-encoded.

getContentType

protected String getContentType()
Returns the content type of this request. If null, no content is specified.

getCharacterSet

protected final String getCharacterSet()
Returns the character set required for this request.

completeRequest

protected void completeRequest(URLConnection connection)
                        throws IOException
Performs any additional processing necessary to complete the request.

writeMessageBody

protected void writeMessageBody(OutputStream stream)
                         throws IOException
Writes the contents of the message body to the specified stream.

getURLBase

protected final URL getURLBase()

getURLString

protected String getURLString()

getParameterHolder

protected final ParameterHolder getParameterHolder()