Class HttpRequest

  • All Implemented Interfaces:
    AdditionalInformationHandler, CleanUpHandler, Destroyable, GlobalInfoSupporter, LoggingLevelHandler, LoggingSupporter, OptionHandler, QuickInfoSupporter, ShallowCopySupporter<Actor>, SizeOfHandler, Stoppable, StoppableWithFeedback, VariablesInspectionHandler, VariableChangeListener, Actor, ErrorHandler, OutputProducer, Serializable, Comparable

    public class HttpRequest
    extends AbstractSimpleSource
    Submits the (optional) form parameters to the specified URL and forwards the retrieved HTML as text.
    Cookies can be retrieved and stored in internal storage, to be re-used with the next request.

    Input/output:
    - generates:
       adams.flow.container.HttpRequestResult


    Container information:
    - adams.flow.container.HttpRequestResult: Status code, Body, Cookies

    -logging-level <OFF|SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST> (property: loggingLevel)
        The logging level for outputting errors and debugging output.
        default: WARNING
     
    -name <java.lang.String> (property: name)
        The name of the actor.
        default: HttpRequest
     
    -annotation <adams.core.base.BaseAnnotation> (property: annotations)
        The annotations to attach to this actor.
        default: 
     
    -skip <boolean> (property: skip)
        If set to true, transformation is skipped and the input token is just forwarded 
        as it is.
        default: false
     
    -stop-flow-on-error <boolean> (property: stopFlowOnError)
        If set to true, the flow execution at this level gets stopped in case this 
        actor encounters an error; the error gets propagated; useful for critical 
        actors.
        default: false
     
    -silent <boolean> (property: silent)
        If enabled, then no errors are output in the console; Note: the enclosing 
        actor handler must have this enabled as well.
        default: false
     
    -url <adams.core.base.BaseURL> (property: URL)
        The URL for the request.
        default: http://localhost
     
    -method <GET|POST|PUT|DELETE|PATCH> (property: method)
        The method to use for the request.
        default: POST
     
    -header <adams.core.base.BaseKeyValuePair> [-header ...] (property: headers)
        The (optional) request headers to send.
        default: 
     
    -parameter <adams.core.base.BaseKeyValuePair> [-parameter ...] (property: parameters)
        The form parameters to send with the request.
        default: 
     
    -cookies <adams.flow.control.StorageName> (property: cookies)
        The (optional) storage value with the cookies (map of strings).
        default: storage
     
    Version:
    $Revision$
    Author:
    FracPete (fracpete at waikato dot ac dot nz)
    See Also:
    Serialized Form
    • Field Detail

      • m_URL

        protected BaseURL m_URL
        the URL to send the form parameters to.
      • m_Method

        protected com.github.fracpete.requests4j.request.Method m_Method
        the action method to use.
      • m_Headers

        protected BaseKeyValuePair[] m_Headers
        the (optional) request headers.
      • m_Cookies

        protected StorageName m_Cookies
        the storage value containing the cookies to use.
    • Constructor Detail

      • HttpRequest

        public HttpRequest()
    • Method Detail

      • setURL

        public void setURL​(BaseURL value)
        Sets the URL for the request.
        Parameters:
        value - the URL
      • getURL

        public BaseURL getURL()
        Returns the URL for the request.
        Returns:
        the URL
      • URLTipText

        public String URLTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setMethod

        public void setMethod​(com.github.fracpete.requests4j.request.Method value)
        Sets the method for the request.
        Parameters:
        value - the method
      • getMethod

        public com.github.fracpete.requests4j.request.Method getMethod()
        Returns the method for the request.
        Returns:
        the method
      • methodTipText

        public String methodTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setHeaders

        public void setHeaders​(BaseKeyValuePair[] value)
        Sets the (optional) request headers for the request.
        Parameters:
        value - the headers
      • getHeaders

        public BaseKeyValuePair[] getHeaders()
        Returns the (optional) request headers for the request.
        Returns:
        the headers
      • headersTipText

        public String headersTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setParameters

        public void setParameters​(BaseKeyValuePair[] value)
        Sets the form parameters for the request.
        Parameters:
        value - the parameters
      • getParameters

        public BaseKeyValuePair[] getParameters()
        Returns the form parameters for the request.
        Returns:
        the parameters
      • parametersTipText

        public String parametersTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setCookies

        public void setCookies​(StorageName value)
        Sets the (optional) storage name with the cookies to use.
        Parameters:
        value - the storage name
      • getCookies

        public StorageName getCookies()
        Returns the (optional) storage name with the cookies to use.
        Returns:
        the storage name
      • cookiesTipText

        public String cookiesTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • generates

        public Class[] generates()
        Returns the class of objects that it generates.
        Returns:
        the Class of the generated tokens
      • doExecute

        protected String doExecute()
        Executes the flow item.
        Specified by:
        doExecute in class AbstractActor
        Returns:
        null if everything is fine, otherwise error message