Class yii\httpclient\Client
Inheritance | yii\httpclient\Client » yii\base\Component |
---|---|
Available since version | 2.0 |
Client provide high level interface for HTTP requests execution.
Public Properties
Property | Type | Description | Defined By |
---|---|---|---|
$baseUrl | string | Base request URL. | yii\httpclient\Client |
$contentLoggingMaxSize | integer | Maximum symbols count of the request content, which should be taken to compose a log and profile messages. | yii\httpclient\Client |
$formatters | array | The formatters for converting data into the content of the specified \yii\httpclient\format. | yii\httpclient\Client |
$parsers | array | The parsers for converting content of the specified \yii\httpclient\format into the data. | yii\httpclient\Client |
$requestConfig | array | Request object configuration. | yii\httpclient\Client |
$responseConfig | array | Response config configuration. | yii\httpclient\Client |
Public Methods
Method | Description | Defined By |
---|---|---|
afterSend() | This method is invoked right after request is sent. | yii\httpclient\Client |
batchSend() | Performs multiple HTTP requests in parallel. | yii\httpclient\Client |
beforeSend() | This method is invoked right before request is sent. | yii\httpclient\Client |
createRequest() | yii\httpclient\Client | |
createRequestLogToken() | Composes the log/profiling message token for the given HTTP request parameters. | yii\httpclient\Client |
createResponse() | Creates a response instance. | yii\httpclient\Client |
delete() | Creates 'DELETE' request. | yii\httpclient\Client |
get() | Creates 'GET' request. | yii\httpclient\Client |
getFormatter() | Returns HTTP message formatter instance for the specified format. | yii\httpclient\Client |
getParser() | Returns HTTP message parser instance for the specified format. | yii\httpclient\Client |
getTransport() | yii\httpclient\Client | |
head() | Creates 'HEAD' request. | yii\httpclient\Client |
options() | Creates 'OPTIONS' request. | yii\httpclient\Client |
patch() | Creates 'PATCH' request. | yii\httpclient\Client |
post() | Creates 'POST' request. | yii\httpclient\Client |
put() | Creates 'PUT' request. | yii\httpclient\Client |
send() | Performs given request. | yii\httpclient\Client |
setTransport() | Sets the HTTP message transport. It can be specified in one of the following forms: | yii\httpclient\Client |
Events
Event | Type | Description | Defined By |
---|---|---|---|
EVENT_AFTER_SEND | yii\httpclient\RequestEvent | An event raised right after request has been sent. | yii\httpclient\Client |
EVENT_BEFORE_SEND | yii\httpclient\RequestEvent | An event raised right before sending request. | yii\httpclient\Client |
Constants
Constant | Value | Description | Defined By |
---|---|---|---|
FORMAT_CURL | 'curl' | CURL format | yii\httpclient\Client |
FORMAT_JSON | 'json' | JSON format | yii\httpclient\Client |
FORMAT_RAW_URLENCODED | 'raw-urlencoded' | Urlencoded by PHP_QUERY_RFC3986 query string, like name1=value1&name2=value2 | yii\httpclient\Client |
FORMAT_URLENCODED | 'urlencoded' | Urlencoded by RFC1738 query string, like name1=value1&name2=value2 | yii\httpclient\Client |
FORMAT_XML | 'xml' | XML format | yii\httpclient\Client |
Property Details
Base request URL.
Maximum symbols count of the request content, which should be taken to compose a log and profile messages. Exceeding content will be truncated.
See also createRequestLogToken().
The formatters for converting data into the content of the specified \yii\httpclient\format. The array keys are the format names, and the array values are the corresponding configurations for creating the formatter objects.
The parsers for converting content of the specified \yii\httpclient\format into the data. The array keys are the format names, and the array values are the corresponding configurations for creating the parser objects.
Request object configuration.
Response config configuration.
Method Details
This method is invoked right after request is sent.
The method will trigger the EVENT_AFTER_SEND event.
public void afterSend ( $request, $response ) | ||
$request | yii\httpclient\Request | Request instance. |
$response | yii\httpclient\Response | Received response instance. |
Performs multiple HTTP requests in parallel.
This method accepts an array of the yii\httpclient\Request objects and returns an array of the yii\httpclient\Response objects. Keys of the response array correspond the ones from request array.
$client = new Client();
$requests = [
'news' => $client->get('http://domain.com/news'),
'friends' => $client->get('http://domain.com/user/friends', ['userId' => 12]),
];
$responses = $client->batchSend($requests);
var_dump($responses['news']->isOk);
var_dump($responses['friends']->isOk);
public yii\httpclient\Response[] batchSend ( array $requests ) | ||
$requests | yii\httpclient\Request[] | Requests to perform. |
return | yii\httpclient\Response[] | Responses list. |
---|---|---|
throws | yii\httpclient\Exception | |
throws | \yii\base\InvalidConfigException |
This method is invoked right before request is sent.
The method will trigger the EVENT_BEFORE_SEND event.
public void beforeSend ( $request ) | ||
$request | yii\httpclient\Request | Request instance. |
public yii\httpclient\Request createRequest ( ) | ||
return | yii\httpclient\Request | Request instance. |
---|---|---|
throws | \yii\base\InvalidConfigException |
Composes the log/profiling message token for the given HTTP request parameters.
This method should be used by transports during request sending logging.
public string createRequestLogToken ( $method, $url, $headers, $content ) | ||
$method | string | Request method name. |
$url | string | Request URL. |
$headers | array | Request headers. |
$content | string | Request content. |
return | string | Log token. |
---|
Creates a response instance.
public yii\httpclient\Response createResponse ( $content = null, array $headers = [] ) | ||
$content | string | Raw content |
$headers | array | Headers list. |
return | yii\httpclient\Response | Request instance. |
---|---|---|
throws | \yii\base\InvalidConfigException |
Creates 'DELETE' request.
public yii\httpclient\Request delete ( $url, $data = null, $headers = [], $options = [] ) | ||
$url | array|string | Target URL. |
$data | array|string | If array - request data, otherwise - request content. |
$headers | array | Request headers. |
$options | array | Request options. |
return | yii\httpclient\Request | Request instance. |
---|
Creates 'GET' request.
public yii\httpclient\Request get ( $url, $data = null, $headers = [], $options = [] ) | ||
$url | array|string | Target URL. |
$data | array|string | If array - request data, otherwise - request content. |
$headers | array | Request headers. |
$options | array | Request options. |
return | yii\httpclient\Request | Request instance. |
---|
Returns HTTP message formatter instance for the specified format.
public yii\httpclient\FormatterInterface getFormatter ( $format ) | ||
$format | string | Format name. |
return | yii\httpclient\FormatterInterface | Formatter instance. |
---|---|---|
throws | \yii\base\InvalidParamException | on invalid format name. |
throws | \yii\base\InvalidConfigException |
Returns HTTP message parser instance for the specified format.
public yii\httpclient\ParserInterface getParser ( $format ) | ||
$format | string | Format name |
return | yii\httpclient\ParserInterface | Parser instance. |
---|---|---|
throws | \yii\base\InvalidParamException | on invalid format name. |
throws | \yii\base\InvalidConfigException |
public yii\httpclient\Transport getTransport ( ) | ||
return | yii\httpclient\Transport | HTTP message transport instance. |
---|---|---|
throws | \yii\base\InvalidConfigException |
Creates 'HEAD' request.
public yii\httpclient\Request head ( $url, $headers = [], $options = [] ) | ||
$url | array|string | Target URL. |
$headers | array | Request headers. |
$options | array | Request options. |
return | yii\httpclient\Request | Request instance. |
---|
Creates 'OPTIONS' request.
public yii\httpclient\Request options ( $url, $options = [] ) | ||
$url | array|string | Target URL. |
$options | array | Request options. |
return | yii\httpclient\Request | Request instance. |
---|
Creates 'PATCH' request.
public yii\httpclient\Request patch ( $url, $data = null, $headers = [], $options = [] ) | ||
$url | array|string | Target URL. |
$data | array|string | If array - request data, otherwise - request content. |
$headers | array | Request headers. |
$options | array | Request options. |
return | yii\httpclient\Request | Request instance. |
---|
Creates 'POST' request.
public yii\httpclient\Request post ( $url, $data = null, $headers = [], $options = [] ) | ||
$url | array|string | Target URL. |
$data | array|string | If array - request data, otherwise - request content. |
$headers | array | Request headers. |
$options | array | Request options. |
return | yii\httpclient\Request | Request instance. |
---|
Creates 'PUT' request.
public yii\httpclient\Request put ( $url, $data = null, $headers = [], $options = [] ) | ||
$url | array|string | Target URL. |
$data | array|string | If array - request data, otherwise - request content. |
$headers | array | Request headers. |
$options | array | Request options. |
return | yii\httpclient\Request | Request instance. |
---|
Performs given request.
public yii\httpclient\Response send ( $request ) | ||
$request | yii\httpclient\Request | Request to be sent. |
return | yii\httpclient\Response | Response instance. |
---|---|---|
throws | yii\httpclient\Exception | on failure. |
throws | \yii\base\InvalidConfigException |
Sets the HTTP message transport. It can be specified in one of the following forms:
- an instance of
Transport
: actual transport object to be used - a string: representing the class name of the object to be created
- a configuration array: the array must contain a
class
element which is treated as the object class, and the rest of the name-value pairs will be used to initialize the corresponding object properties - a PHP callable: either an anonymous function or an array representing a class method (
[$class or $object, $method]
). The callable should return a new instance of the object being created.
public void setTransport ( $transport ) | ||
$transport | yii\httpclient\Transport|array|string | HTTP message transport |