C.38 HttpRequestTask

This task will make an HTTP request to the provided URL and match the response against the provided regular expression. If an regular expression is provided and doesn't match the build will fail. You need an installed version of Guzzle to use this task.

Table C.41: Attributes

NameTypeDescriptionDefaultRequired
urlStringThe request URLn/aYes
responseRegexStringThe regular expression for matching the responsen/aNo
responseCodeRegexStringThe regular expression for matching the response coden/aNo
authUserStringThe authentication user namen/aNo
authPasswordStringThe authentication passwordn/aNo
authSchemeStringThe authentication schemebasicNo
verboseBooleanWhether to enable detailed loggingfalseNo
methodStringThe HTTP method of the request, currently only GET or POST supportedGETNo

C.38.1 Example

<http-request url="http://my-production.example.com/check-deployment.php"/>

Just perform a HTTP request to the given URL.

<http-request
   url="http://my-production.example.com/check-deployment.php"
   responseRegex="/Heartbeat/"
   verbose="true"
   observerEvents="connect, disconnect"/>

Perform a HTTP request to the given URL and matching the response against the given regex pattern. Enable detailed logging and log only the specified events.

<http-request url="http://my-production.example.com/check-deployment.php">
   <header name="user-agent" value="Phing HttpRequestTask"/>
 </http-request>

Perform a HTTP request to the given URL. Setting request adapter to curl instead of socket. Setting an additional header.

<http-request
            url="http://my-production.example.com/check-deployment.php"
            verbose="true"
            method="POST">
              <postparameter name="param1" value="value1" />
              <postparameter name="param2" value="value2" />
            </http-request>
          

Perform an HTTP POST request to the given URL. Setting POST request parameters to emulate form submission.

C.38.2 Supported Nested Tags

  • config

    Holds additional config data. See Guzzle documentation for supported values.

    Table C.42: Attributes

    NameTypeDescriptionDefaultRequired
    nameStringConfig parameter namen/aYes
    valueMixedConfig valuen/aYes

  • header

    Holds additional header name and value.

    Table C.43: Attributes

    NameTypeDescriptionDefaultRequired
    nameStringHeader namen/aYes
    valueStringHeader valuen/aYes

  • postparameter

    Used when performing a POST request. Contains name and value of a form field.

    Table C.44: Attributes

    NameTypeDescriptionDefaultRequired
    nameStringField namen/aYes
    valueStringField valuen/aYes

C.38.3 Global configuration

In addition to configuring a particular instance of Guzzle via nested <config> tags it is also possible to set default configuration values for HttpGetTask / HttpRequestTask / VisualizerTask by setting phing.http.* properties.

<property name="phing.http.proxy" value="socks5://localhost:1080/"/>
<!-- This request will go through the default proxy -->
<http-request url="http://example.com/foo"/>
<http-request url="http://example.org/restricted" dir="./">
    <!-- This proxy will be used instead of the default one -->
    <config name="proxy" value="http://foo:[email protected]:3128/"/>
</http-request>