Class yii\httpclient\Client
Inheritance | yii\httpclient\Client » 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/Client.php |
Client provide high level interface for HTTP requests execution.
Public Properties
Property | Type | Description | Defined By |
---|---|---|---|
$baseUrl | string | Base request URL. | yii\httpclient\Client |
$behaviors | yii\base\Behavior[] | List of behaviors attached to this component. This property is read-only. | yii\base\Component |
$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 format. | yii\httpclient\Client |
$parsers | array | The parsers for converting content of the specified format into the data. | yii\httpclient\Client |
$requestConfig | array | Request object configuration. | yii\httpclient\Client |
$responseConfig | array | Response config configuration. | yii\httpclient\Client |
$transport | yii\httpclient\Transport | HTTP message transport instance. | yii\httpclient\Client |
Public 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 |
__unset() | Sets a component property to be null. | yii\base\Component |
afterSend() | This method is invoked right after request is sent. | yii\httpclient\Client |
attachBehavior() | Attaches a behavior to this component. | yii\base\Component |
attachBehaviors() | Attaches a list of behaviors to the component. | yii\base\Component |
batchSend() | Performs multiple HTTP requests in parallel. | yii\httpclient\Client |
beforeSend() | This method is invoked right before request is sent. | yii\httpclient\Client |
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 |
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 |
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 |
get() | Creates 'GET' request. | yii\httpclient\Client |
getBehavior() | Returns the named behavior object. | yii\base\Component |
getBehaviors() | Returns all behaviors attached to this component. | yii\base\Component |
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 | |
hasEventHandlers() | Returns a value indicating whether there is any handler attached to the named event. | yii\base\Component |
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 |
head() | Creates 'HEAD' request. | yii\httpclient\Client |
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 |
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 |
trigger() | Triggers an event. | yii\base\Component |
Protected Methods
Method | Description | Defined By |
---|---|---|
createRequestShortcut() | 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 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 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.
HTTP message transport instance.
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. |
---|
protected yii\httpclient\Request createRequestShortcut ( $method, $url, $data, $headers, $options ) | ||
$method | string | |
$url | array|string | |
$data | array|string | |
$headers | array | |
$options | array | |
return | yii\httpclient\Request | Request instance. |
---|---|---|
throws | yii\base\InvalidConfigException |
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 |
Event Details
An event raised right after request has been sent.
An event raised right before sending request.