Class yii\httpclient\Client

Inheritanceyii\httpclient\Client » yii\base\Component » yii\base\BaseObject
Implementsyii\base\Configurable
Available since version2.0
Source Code https://github.com/yiisoft/yii2-httpclient/blob/master/Client.php

Client provide high level interface for HTTP requests execution.

Public Properties

Hide inherited properties

PropertyTypeDescriptionDefined By
$baseUrl string Base request URL. yii\httpclient\Client
$behaviors yii\base\Behavior[] List of behaviors attached to this component 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 \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
$transport yii\httpclient\Transport|array|string HTTP message transport yii\httpclient\Client

Public Methods

Hide inherited methods

MethodDescriptionDefined 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

Events

Hide inherited events

EventTypeDescriptionDefined 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

Hide inherited constants

ConstantValueDescriptionDefined By
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

$baseUrl public property

Base request URL.

public string $baseUrl null
$contentLoggingMaxSize public property

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().

$formatters public property

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.

public array $formatters = []
$parsers public property

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.

public array $parsers = []
$requestConfig public property

Request object configuration.

public array $requestConfig = []
$responseConfig public property

Response config configuration.

public array $responseConfig = []
$transport public property

HTTP message transport

public yii\httpclient\Transport getTransport ( )
public void setTransport ( $transport )

Method Details

afterSend() public method (available since version 2.0.1)

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.

batchSend() public method

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
beforeSend() public method (available since version 2.0.1)

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.

createRequest() public method

public yii\httpclient\Request createRequest ( )
return yii\httpclient\Request

Request instance.

throws yii\base\InvalidConfigException
createRequestLogToken() public method

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.

createResponse() public method

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
delete() public method

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.

get() public method

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.

getFormatter() public method

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
getParser() public method

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
getTransport() public method

public yii\httpclient\Transport getTransport ( )
return yii\httpclient\Transport

HTTP message transport instance.

throws yii\base\InvalidConfigException
head() public method

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.

options() public method

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.

patch() public method

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.

post() public method

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.

put() public method

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.

send() public method

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
setTransport() public method

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

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.