Class SimpleHttpRequest

java.lang.Object
org.lobobrowser.html.test.SimpleHttpRequest
All Implemented Interfaces:
HttpRequest

public class SimpleHttpRequest extends Object implements HttpRequest
The SimpleHttpRequest class implements the HttpRequest interface. The HttpRequest implementation provided by this class is simple, with no caching. It creates a new thread for each new asynchronous request.
Author:
J. H. S.
  • Field Details

    • requestMethod

      protected String requestMethod
    • requestUserName

      protected String requestUserName
    • requestPassword

      protected String requestPassword
    • connection

      protected URLConnection connection
      The URLConnection is assigned to this field while it is ongoing.
    • responseHeadersMap

      protected Map responseHeadersMap
      Response headers are set in this map after a response is received.
    • responseHeaders

      protected String responseHeaders
      Response headers are set in this string after a response is received.
  • Constructor Details

  • Method Details

    • getReadyState

      public int getReadyState()
      Description copied from interface: HttpRequest
      Gets the state of the request, a value between 0 and 4.
      Specified by:
      getReadyState in interface HttpRequest
      Returns:
      A value corresponding to one of the STATE* constants in this class.
    • getResponseText

      public String getResponseText()
      Description copied from interface: HttpRequest
      Gets the request response as text.
      Specified by:
      getResponseText in interface HttpRequest
    • getResponseXML

      public Document getResponseXML()
      Description copied from interface: HttpRequest
      Gets the request response as an XML DOM.
      Specified by:
      getResponseXML in interface HttpRequest
    • getResponseBytes

      public byte[] getResponseBytes()
      Description copied from interface: HttpRequest
      Gets the request response bytes.
      Specified by:
      getResponseBytes in interface HttpRequest
    • getResponseImage

      public Image getResponseImage()
      Description copied from interface: HttpRequest
      Gets the request response as an AWT image.
      Specified by:
      getResponseImage in interface HttpRequest
    • getStatus

      public int getStatus()
      Description copied from interface: HttpRequest
      Gets the status of the response. Note that this can be 0 for file requests in addition to 200 for successful HTTP requests.
      Specified by:
      getStatus in interface HttpRequest
    • getStatusText

      public String getStatusText()
      Description copied from interface: HttpRequest
      Gets the status text of the request, e.g. "OK" for 200.
      Specified by:
      getStatusText in interface HttpRequest
    • abort

      public void abort()
      Description copied from interface: HttpRequest
      Aborts an ongoing request.
      Specified by:
      abort in interface HttpRequest
    • getAllResponseHeaders

      public String getAllResponseHeaders()
      Description copied from interface: HttpRequest
      Gets a string with all the response headers.
      Specified by:
      getAllResponseHeaders in interface HttpRequest
    • getResponseHeader

      public String getResponseHeader(String headerName)
      Description copied from interface: HttpRequest
      Gets a response header value.
      Specified by:
      getResponseHeader in interface HttpRequest
      Parameters:
      headerName - The name of the header.
    • open

      public void open(String method, String url) throws IOException
      Description copied from interface: HttpRequest
      Starts an asynchronous request.
      Specified by:
      open in interface HttpRequest
      Parameters:
      method - The request method.
      url - The destination URL.
      Throws:
      IOException
    • open

      public void open(String method, URL url) throws IOException
      Description copied from interface: HttpRequest
      Opens an asynchronous request.
      Specified by:
      open in interface HttpRequest
      Parameters:
      method - The request method.
      url - The destination URL.
      Throws:
      IOException
    • open

      public void open(String method, URL url, boolean asyncFlag) throws IOException
      Description copied from interface: HttpRequest
      Opens an request.
      Specified by:
      open in interface HttpRequest
      Parameters:
      method - The request method.
      url - The destination URL.
      asyncFlag - Whether the request is asynchronous.
      Throws:
      IOException
    • open

      public void open(String method, String url, boolean asyncFlag) throws IOException
      Description copied from interface: HttpRequest
      Opens a request.
      Specified by:
      open in interface HttpRequest
      Parameters:
      method - The request method.
      url - The destination URL.
      asyncFlag - Whether the request should be asynchronous.
      Throws:
      IOException
    • open

      public void open(String method, URL url, boolean asyncFlag, String userName) throws IOException
      Description copied from interface: HttpRequest
      Opens a request.
      Specified by:
      open in interface HttpRequest
      Parameters:
      method - The request method.
      url - The destination URL.
      asyncFlag - Whether the request should be asynchronous.
      userName - The HTTP authentication user name.
      Throws:
      IOException
    • open

      public void open(String method, URL url, boolean asyncFlag, String userName, String password) throws IOException
      Opens the request. Call send(String) to complete it.
      Specified by:
      open in interface HttpRequest
      Parameters:
      method - The request method.
      url - The request URL.
      asyncFlag - Whether the request should be asynchronous.
      userName - The user name of the request (not supported.)
      password - The password of the request (not supported.)
      Throws:
      IOException
    • send

      public void send(String content) throws IOException
      Sends POST content, if any, and causes the request to proceed.

      In the case of asynchronous requests, a new thread is created.

      Specified by:
      send in interface HttpRequest
      Parameters:
      content - POST content or null if there's no such content.
      Throws:
      IOException
    • getPostCharset

      protected String getPostCharset()
      This is the charset used to post data provided to send(String). It returns "UTF-8" unless overridden.
    • sendSync

      protected void sendSync(String content) throws IOException
      This is a synchronous implementation of send(String) method functionality. It may be overridden to change the behavior of the class.
      Parameters:
      content - POST content if any. It may be null.
      Throws:
      IOException
    • addReadyStateChangeListener

      public void addReadyStateChangeListener(ReadyStateChangeListener listener)
      Description copied from interface: HttpRequest
      Adds a listener of ReadyState changes. The listener should be invoked even in the case of errors.
      Specified by:
      addReadyStateChangeListener in interface HttpRequest
      Parameters:
      listener - An instanceof of ReadyStateChangeListener