Версия: 6.x
burger close
Класс ExternalRequest

Подробное описание

Конструктор внешнего запроса

Открытые члены

 __construct (string $source_id, string $url)
 
 executeRequest ()
 
 getPreparedHeaders ()
 
 clearPreparedHeaders ()
 
 getPreparedContent ()
 
 setBasicAuth (string $username, string $password)
 
 setLog (AbstractLog $log, string $log_level_request, string $log_level_response=null)
 
 getSourceId ()
 
 setSourceId (string $source_id)
 
 getUrl ()
 
 setIgnoreErrors ($bool)
 
 getIgnoreErrors ()
 
 setUrl (string $url)
 
 getMethod ()
 
 setMethod (string $method)
 
 getHeaders ()
 
 setHeaders (array $headers)
 
 addHeader (string $name, string $value)
 
 getContentType ()
 
 setContentType (string $content_type)
 
 getAuthorization ()
 
 setAuthorization ($authorization)
 
 getParams ()
 
 setParams ($params)
 
 setParam ($key, $value)
 
 getTimeout ()
 
 setTimeout (float $timeout)
 
 getIdempotenceKey ()
 
 setIdempotenceKey (string $idempotence_key)
 
 isEnabledCache ()
 
 setEnableCache (bool $enable_cache=true)
 
 getLogOption (string $option_name, $default=null)
 
 setLogOption (string $option_name, $value)
 
 setEnableLog (bool $enable_log=true)
 
 setJsonEncodeFlags ($flags)
 
 getJsonEncodeFlags ()
 
 getRequestHash ()
 
 setCacheHashFunction ($callable)
 
 setExcludeCacheHashParams (array $exclude_hash_params)
 
 setCacheResponseStatus (array $list)
 
 setCacheLifeTime ($time_sec)
 
 getCacheLifeTime ()
 

Поля данных

const METHOD_GET = 'GET'
 
const METHOD_POST = 'POST'
 
const METHOD_PUT = 'PUT'
 
const METHOD_PATCH = 'PATCH'
 
const METHOD_DELETE = 'DELETE'
 
const CONTENT_TYPE_FORM_DATA = 'application/x-www-form-urlencoded; charset=utf-8'
 
const CONTENT_TYPE_JSON = 'application/json; charset=utf-8'
 
const CONTENT_TYPE_JSON_WITHOUT_CHARSET = 'application/json'
 
const CONTENT_TYPE_XML = 'application/xml; charset=utf-8'
 
const LOG_OPTION_DONT_WRITE_RESPONSE_BODY = 'dont_write_response_body'
 
const HASH_PARAM_METHOD = 'method'
 
const HASH_PARAM_HEADERS = 'headers'
 
const HASH_PARAM_DATA = 'data'
 

Защищенные члены

 selfCheck ()
 
 parseResponseStatusFromHeaders ($headers)
 
 getRequestUrl ()
 
 createRequestContext ()
 
 logTryRequest ()
 
 logHeaders ()
 
 logResponse (ExternalResponse $response, float $time_to_response=null, bool $from_cache=false)
 
 getLog ()
 

Конструктор(ы)

__construct ( string  $source_id,
string  $url 
)
Аргументы
string$source_id- идентификатор инициатора запроса
string$url- URL запроса Исключение ExternalRequestException оставлено на ручной контроль

Методы

addHeader ( string  $name,
string  $value 
)

Добавляет заголовок к существующему списку заголовков запроса

Аргументы
string$name- название заголовка
string$value- значение заголовка
Возвращает
self
clearPreparedHeaders ( )

Очищает кэш ранее подготовленных заголовков

Возвращает
self
createRequestContext ( )
protected

Возвращает контекст потока для запроса

Возвращает
resource
executeRequest ( )

Исполняет сформированный запрос

Возвращает
ExternalResponse
getAuthorization ( )

Возвращает http-авторизацию

Возвращает
string|callable
getCacheLifeTime ( )

Возвращает время кэширования результата в секундах

Возвращает
int
getContentType ( )

Возвращает тип содержимого в запросе

Возвращает
string
getHeaders ( )

Возвращает заголовки запроса

Возвращает
string[]
getIdempotenceKey ( )

Возвращает ключ идемпотентности

Возвращает
string
getIgnoreErrors ( )

Возвращает игнорировать ли не 2xx статус ответов на запросы.

Возвращает
bool
getJsonEncodeFlags ( )

Возвращает текущие флаги, которые будут использованы при вызове JSON_encode

Возвращает
mixed
getLog ( )
protected

Возвращает объект логирования

Возвращает
AbstractLog
getLogOption ( string  $option_name,
  $default = null 
)

Возвращает значение опции логирования

Аргументы
string$option_name- имя опции
mixed$default- значение по умолчанию
Возвращает
mixed
getMethod ( )

Возвращает метод запроса

Возвращает
string
getParams ( )

Возвращает параметры запроса

Возвращает
mixed
getPreparedContent ( )

Возвращает параметры запроса, подготовленные с учётом текущего типа содержимого

Возвращает
mixed
getPreparedHeaders ( )

Возвращает подготовленные заголовки запроса

Возвращает
string[]
getRequestHash ( )

Формирует хэш параметров запроса

Возвращает
string
getRequestUrl ( )
protected

Возвращает итоговый адрес запроса

Возвращает
string
getSourceId ( )

Возвращает идентификатор инициатора запроса

Возвращает
string
getTimeout ( )

Возвращает тайм-аут на чтение в секундах

Возвращает
float
getUrl ( )

Возвращает адрес запроса

Возвращает
string
isEnabledCache ( )

Возвращает флаг кэширования

Возвращает
bool
logHeaders ( )
protected

Логирует заголовки, только если они не учитываются в ключе хэша

logResponse ( ExternalResponse  $response,
float  $time_to_response = null,
bool  $from_cache = false 
)
protected

Логирует заголовки и содержимое ответа от внешнего сервера

Аргументы
ExternalResponse$response- содержимое ответа
float | null$time_to_response- время получения ответа
bool$from_cache- ответ взят из кэша
logTryRequest ( )
protected

Логирует заголовки и параметры запроса к внешнему серверу

parseResponseStatusFromHeaders (   $headers)
protected

Извлекает статус ответа из заголовков

Аргументы
string[]$headers - заголовки ответа
Возвращает
int
selfCheck ( )
protected

Проверяет корректность заполнения обязательных параметров

Возвращает
void
Исключения
ExternalRequestException
setAuthorization (   $authorization)

Устанавливает http-авторизацию

Аргументы
string | callable$authorization- http-авторизация
Возвращает
self
setBasicAuth ( string  $username,
string  $password 
)

Устанавливает базовую http-авторизацию

Аргументы
string$username- имя пользователя
string$password- пароль
Возвращает
self
setCacheHashFunction (   $callable)

Устанавливает произвольную функцию для расчета уникального идентификатора хэша данного запроса, который будет использоваться при кэшировании

Аргументы
callable$callable
Возвращает
self
setCacheLifeTime (   $time_sec)

Устанавливает время кэширования результата в секундах

Аргументы
$time_sec
setCacheResponseStatus ( array  $list)

Устанавливает статусы ответов на запрос, в которых результат будет кэшироваться. Необходимо, чтобы исключать из кэширования ошибочные запросы

Аргументы
array$list
Возвращает
self
setContentType ( string  $content_type)

Устанавливает тип содержимого

Аргументы
string$content_type- тип содержимого
Возвращает
self
setEnableCache ( bool  $enable_cache = true)

Устанавливает флаг кэширования

Аргументы
bool$enable_cache- значение
Возвращает
self
setEnableLog ( bool  $enable_log = true)
Аргументы
bool$enable_log- значение
Возвращает
self
setExcludeCacheHashParams ( array  $exclude_hash_params)

Устанавливает, какие параметры нужно исключить из кэша

Аргументы
array$exclude_hash_paramsмассив, состоящий из констант self::HASH_PARAM_....
Возвращает
self
setHeaders ( array  $headers)

Устанавливает заголовки запроса

Аргументы
string[]$headers - заголовки запроса
Возвращает
self
setIdempotenceKey ( string  $idempotence_key)

Устанавливает ключ идемпотентности

Аргументы
string$idempotence_key- ключ идемпотентности
Возвращает
self
setIgnoreErrors (   $bool)

Устанавливает игнорировать ли не 2xx статус ответов на запросы.

Аргументы
$bool
Возвращает
ExternalRequest
setJsonEncodeFlags (   $flags)

Устанавливает флаги, которые будут использованы при вызове JSON_encode

Аргументы
$flags
setLog ( AbstractLog  $log,
string  $log_level_request,
string  $log_level_response = null 
)

Устанавливает используемый объект логирования

Аргументы
AbstractLog$log- экземпляр класса логирования
string$log_level_request- уровень логирования запросов
string$log_level_response- уровень логирования ответов, если не указан то считается равным $log_level_request
Возвращает
self
setLogOption ( string  $option_name,
  $value 
)

Устанавливает значение опции логирования

Аргументы
string$option_name- имя опции
mixed$value- знацение опции
Возвращает
self
setMethod ( string  $method)

Устанавливает метод запроса

Аргументы
string$method- метод запроса
Возвращает
self
setParam (   $key,
  $value 
)

Устанавливает один параметр запроса

Аргументы
string$keyключ параметра
mixed$valueзначение параметра
Возвращает
self
setParams (   $params)

Устанавливает параметры запроса

Аргументы
mixed$params
Возвращает
self
setSourceId ( string  $source_id)

Устанавливает идентификатор инициатора запроса

Аргументы
string$source_id- идентификатор инициатора запроса
Возвращает
self
setTimeout ( float  $timeout)

Устанавливает тайм-аут на чтение в секундах

Аргументы
float$timeout- тайм-аут
Возвращает
self
setUrl ( string  $url)

Устанавливает адрес запроса

Аргументы
string$url- адрес запроса
Возвращает
self

Поля

const CONTENT_TYPE_FORM_DATA = 'application/x-www-form-urlencoded; charset=utf-8'
const CONTENT_TYPE_JSON = 'application/json; charset=utf-8'
const CONTENT_TYPE_JSON_WITHOUT_CHARSET = 'application/json'
const CONTENT_TYPE_XML = 'application/xml; charset=utf-8'
const HASH_PARAM_DATA = 'data'
const HASH_PARAM_HEADERS = 'headers'
const HASH_PARAM_METHOD = 'method'
const LOG_OPTION_DONT_WRITE_RESPONSE_BODY = 'dont_write_response_body'
const METHOD_DELETE = 'DELETE'
const METHOD_GET = 'GET'
const METHOD_PATCH = 'PATCH'
const METHOD_POST = 'POST'
const METHOD_PUT = 'PUT'