# Class yii\httpclient\Request

Inheritance | yii\httpclient\Request » yii\httpclient\Message » yii\base\Component » yii\base\BaseObject
Implements | yii\base\Configurable
Available since version | 2.0
Source Code | https://github.com/yiisoft/yii2-httpclient/blob/master/Request.php

Request represents HTTP request.

## Public Properties

Hide inherited properties

Property | Type | Description | Defined By
--- | --- | --- | ---
$behaviors | yii\base\Behavior[] | List of behaviors attached to this component. This property is read-only. | yii\base\Component
$client | yii\httpclient\Client | Owner client instance. | yii\httpclient\Message
$content | string | Raw body. | yii\httpclient\Message
$cookies | yii\web\CookieCollection|yii\web\Cookie[] | The cookie collection. Note that the type of this property differs in getter and setter. See getCookies() and setCookies() for details. | yii\httpclient\Message
$data | mixed | Content data fields. | yii\httpclient\Message
$format | string | Body format name. | yii\httpclient\Message
$fullUrl | string | Full target URL. | yii\httpclient\Request
$headers | yii\web\HeaderCollection | The header collection. Note that the type of this property differs in getter and setter. See getHeaders() and setHeaders() for details. | yii\httpclient\Message
$method | string | Request method. | yii\httpclient\Request
$options | array | Request options. This property is read-only. | yii\httpclient\Request
$outputFile | resource |  | yii\httpclient\Request
$url | string|array | Target URL or URL parameters. | yii\httpclient\Request

## Public Methods

Hide inherited methods

Method | Description | Defined By
--- | --- | ---
__call() | Calls the named method which is not a class method. | yii\base\Component
__clone() | This method is called after the object is created by cloning an existing one. | yii\base\Component
__construct() | Constructor. | yii\base\BaseObject
__get() | Returns the value of a component property. | yii\base\Component
__isset() | Checks if a property is set, i.e. defined and not null. | yii\base\Component
__set() | Sets the value of a component property. | yii\base\Component
__toString() | PHP magic method that returns the string representation of this object. | yii\httpclient\Message
__unset() | Sets a component property to be null. | yii\base\Component
addContent() | Adds a content part for multi-part content request. | yii\httpclient\Request
addCookies() | Adds more cookies to the already defined ones. | yii\httpclient\Message
addData() | Adds data fields to the existing ones. | yii\httpclient\Request
addFile() | Adds a file for upload as multi-part content. | yii\httpclient\Request
addFileContent() | Adds a string as a file upload. | yii\httpclient\Request
addHeaders() | Adds more headers to the already defined ones. | yii\httpclient\Message
addOptions() | Adds more options to already defined ones. | yii\httpclient\Request
afterSend() | This method is invoked right after this request is sent. | yii\httpclient\Request
attachBehavior() | Attaches a behavior to this component. | yii\base\Component
attachBehaviors() | Attaches a list of behaviors to the component. | yii\base\Component
beforeSend() | This method is invoked right before this request is sent. | yii\httpclient\Request
behaviors() | Returns a list of behaviors that this component should behave as. | yii\base\Component
canGetProperty() | Returns a value indicating whether a property can be read. | yii\base\Component
canSetProperty() | Returns a value indicating whether a property can be set. | yii\base\Component
className() | Returns the fully qualified name of this class. | yii\base\BaseObject
composeHeaderLines() | Composes raw header lines from $headers. | yii\httpclient\Request
detachBehavior() | Detaches a behavior from the component. | yii\base\Component
detachBehaviors() | Detaches all behaviors from the component. | yii\base\Component
ensureBehaviors() | Makes sure that the behaviors declared in behaviors() are attached to this component. | yii\base\Component
getBehavior() | Returns the named behavior object. | yii\base\Component
getBehaviors() | Returns all behaviors attached to this component. | yii\base\Component
getContent() | Returns HTTP message raw content. | yii\httpclient\Message
getCookies() | Returns the cookie collection. | yii\httpclient\Message
getData() | Returns the data fields, parsed from raw content. | yii\httpclient\Message
getFormat() | Returns body format. | yii\httpclient\Message
getFullUrl() | Returns full target URL, including yii\httpclient\Client::$baseUrl as a string. | yii\httpclient\Request
getHeaders() | Returns the header collection. | yii\httpclient\Message
getMethod() |  | yii\httpclient\Request
getOptions() |  | yii\httpclient\Request
getOutputFile() | Gets the outputFile property | yii\httpclient\Request
getUrl() | Returns target URL. | yii\httpclient\Request
hasContent() | Checks if content with provided name exists | yii\httpclient\Message
hasCookies() | Checks of HTTP message contains any cookie. | yii\httpclient\Message
hasEventHandlers() | Returns a value indicating whether there is any handler attached to the named event. | yii\base\Component
hasHeaders() | Checks of HTTP message contains any header. | yii\httpclient\Message
hasMethod() | Returns a value indicating whether a method is defined. | yii\base\Component
hasProperty() | Returns a value indicating whether a property is defined for this component. | yii\base\Component
init() | Initializes the object. | yii\base\BaseObject
off() | Detaches an existing event handler from this component. | yii\base\Component
on() | Attaches an event handler to an event. | yii\base\Component
prepare() | Prepares this request instance for sending. | yii\httpclient\Request
responseTime() | Return the response time in seconds | yii\httpclient\Request
send() | Sends this request. | yii\httpclient\Request
setContent() | Sets the HTTP message raw content. | yii\httpclient\Message
setCookies() | Sets the cookies associated with HTTP message. | yii\httpclient\Message
setData() | Sets the data fields, which composes message content. | yii\httpclient\Request
setFormat() | Sets body format. | yii\httpclient\Message
setFullUrl() | Sets full target URL. | yii\httpclient\Request
setHeaders() | Sets the HTTP headers associated with HTTP message. | yii\httpclient\Message
setMethod() |  | yii\httpclient\Request
setOptions() | Following options are supported: - timeout: int, the maximum number of seconds to allow request to be executed. | yii\httpclient\Request
setOutputFile() | Used with yii\httpclient\CurlTransport to set the file that the transfer should be written to | yii\httpclient\Request
setUrl() | Sets target URL. | yii\httpclient\Request
toString() | Returns string representation of this HTTP message. | yii\httpclient\Request
trigger() | Triggers an event. | yii\base\Component

## Protected Methods

Hide inherited methods

Method | Description | Defined By
--- | --- | ---
defaultFormat() | Returns default format name. | yii\httpclient\Message

## Events

Hide inherited events

Event | Type | Description | Defined By
--- | --- | --- | ---
EVENT_AFTER_SEND | yii\httpclient\RequestEvent | An event raised right after request has been sent. | yii\httpclient\Request
EVENT_BEFORE_SEND | yii\httpclient\RequestEvent | An event raised right before sending request. | yii\httpclient\Request

## Property Details

$fullUrl public property

Full target URL.

public string $fullUrl = null
$method public property

Request method.

public string $method = null
$options public property

Request options. This property is read-only.

public array $options = null
$outputFile public property (available since version 2.0.9)
public resource getOutputFile ( )
public $this setOutputFile ( $file )
$url public property

Target URL or URL parameters.

public string|array $url = null

## Method Details

addContent() public method

Adds a content part for multi-part content request.

public $this addContent ( $name, $content, $options = [] )
$name | string | Part (form input) name.
$content | string | Content.

$options

array

Content part options, valid options are:

- contentType - string, part content type
- fileName - string, name of the uploading file
- mimeType - string, part content type in case of file uploading

return | $this | Self reference.

addData() public method (available since version 2.0.1)

Adds data fields to the existing ones.

public $this addData ( $data )
$data | array | Additional content data fields.
return | $this | Self reference.

addFile() public method

Adds a file for upload as multi-part content.

See also addContent().

public $this addFile ( $name, $fileName, $options = [] )
$name | string | Part (form input) name
$fileName | string | Full name of the source file.

$options

array

Content part options, valid options are:

- fileName - string, base name of the uploading file, if not set it base name of the source file will be used.
- mimeType - string, file mime type, if not set it will be determine automatically from source file.

throws | yii\base\InvalidConfigException |

addFileContent() public method

Adds a string as a file upload.

See also addContent().

public $this addFileContent ( $name, $content, $options = [] )
$name | string | Part (form input) name
$content | string | File content.

$options

array

Content part options, valid options are:

- fileName - string, base name of the uploading file.
- mimeType - string, file mime type, if not set it 'application/octet-stream' will be used.

addOptions() public method

Adds more options to already defined ones.

Please refer to setOptions() on how to specify options.

public $this addOptions ( array $options )
$options | array | Additional options
return | $this | Self reference.

afterSend() public method (available since version 2.0.1)

This method is invoked right after this request is sent.

The method will invoke yii\httpclient\Client::afterSend() and trigger the EVENT_AFTER_SEND event.

public void afterSend ( $response )
$response | yii\httpclient\Response | Received response instance.

beforeSend() public method (available since version 2.0.1)

This method is invoked right before this request is sent.

The method will invoke yii\httpclient\Client::beforeSend() and trigger the EVENT_BEFORE_SEND event.

public void beforeSend ( )

composeHeaderLines() public method

Composes raw header lines from $headers.

Each line will be a string in format: 'header-name: value'.

public array composeHeaderLines ( )
return | array | Raw header lines.

getFullUrl() public method

Returns full target URL, including yii\httpclient\Client::$baseUrl as a string.

public string getFullUrl ( )
return | string | Full target URL.

getMethod() public method

public string getMethod ( )
return | string | Request method

getOptions() public method

public array getOptions ( )
return | array | Request options.

getOutputFile() public method (available since version 2.0.9)

Gets the outputFile property

public resource getOutputFile ( )

getUrl() public method

Returns target URL.

public string|array getUrl ( )
return | string|array | Target URL or URL parameters

prepare() public method

Prepares this request instance for sending.

This method should be invoked by transport before sending a request. Do not call this method unless you know what you are doing.

public $this prepare ( )
return | $this | Self reference.

responseTime() public method (available since version 2.0.12)

Return the response time in seconds

public float responseTime ( )
return | float | The seconds elapsed from request to response

send() public method

Sends this request.

public yii\httpclient\Response send ( )
return | yii\httpclient\Response | Response instance.
throws | yii\httpclient\Exception |

setData() public method

Sets the data fields, which composes message content.

public $this setData ( $data )
$data | mixed | Content data fields.
return | $this | Self reference.

setFullUrl() public method (available since version 2.0.3)

Sets full target URL.

This method can be used during request formatting and preparation. Do not use it for the target URL specification, use setUrl() instead.

public $this setFullUrl ( $fullUrl )
$fullUrl | string | Full target URL.
return | $this | Self reference.

setMethod() public method

public $this setMethod ( $method )
$method | string | Request method
return | $this | Self reference.

setOptions() public method

Following options are supported: - timeout: int, the maximum number of seconds to allow request to be executed.

- proxy: string, URI specifying address of proxy server. (e.g. tcp://proxy.example.com:5100).
- userAgent: string, the contents of the "User-Agent: " header to be used in a HTTP request.
- followLocation: bool, whether to follow any "Location: " header that the server sends as part of the HTTP header.
- maxRedirects: int, the max number of redirects to follow.
- protocolVersion: float|string, HTTP protocol version.
- sslVerifyPeer: bool, whether verification of the peer's certificate should be performed.
- sslCafile: string, location of Certificate Authority file on local filesystem which should be used with the 'sslVerifyPeer' option to authenticate the identity of the remote peer.
- sslCapath: string, a directory that holds multiple CA certificates.

You may set options using keys, which are specific to particular transport, like `[CURLOPT_VERBOSE => true]` in case there is a necessity for it.

public $this setOptions ( array $options )
$options | array | Request options.
return | $this | Self reference.

setOutputFile() public method (available since version 2.0.9)

Used with yii\httpclient\CurlTransport to set the file that the transfer should be written to

See also CURLOPT_FILE.

public $this setOutputFile ( $file )
$file | resource |
return | $this | Self reference.

setUrl() public method

Sets target URL.

public $this setUrl ( $url )
$url | string|array | Use a string to represent a URL (e.g. `http://some-domain.com`, `item/list`), or an array to represent a URL with query parameters (e.g. `['item/list', 'param1' => 'value1']`).
return | $this | Self reference.

toString() public method

Returns string representation of this HTTP message.

public string toString ( )
return | string | The string representation of this HTTP message.

## Event Details

EVENT_AFTER_SEND event of type yii\httpclient\RequestEvent

An event raised right after request has been sent.

EVENT_BEFORE_SEND event of type yii\httpclient\RequestEvent

An event raised right before sending request.