codememory / screw
Component for sending Http RequestAuthor
Requires
- php: >= 7.1
- guzzlehttp/guzzle: ^7.2
This package is auto-updated.
Last update: 2024-11-29 06:22:39 UTC
README
HTTP Screw - это интерфейс пакета Guzzle, который упрощает создание запросов используя ООП
Установка
composer require codememory/http-screw
Документация
Request Методы
-
baseUrl(): HttpRequest
Добавить URL в клиент. И тогда вsetUrl()
можно просто передать ссылку-
string $url (default: null)
-
-
setUrl(): HttpRequest
Добавить URL на который будет сделан запрос-
string $url (default: null)
-
-
addPort(): HttpRequest
Добавить ПОРТ к URL-
integer $port (default: null)
-
-
setMethod(): HttpRequest
Метод запроса [ GET|POST|PUT|DELETE|UPDATE ]-
string $method (default: GET)
-
-
clientOptions(): HttpRequest
Следующее указаные опции добавить в клиент. Которые будут по умолчанию-
boolean $status (default: false)
-
-
option(): HttpRequest
Добавить опцию к запросу-
string $option (default: null)
-
callable $callback (default: None): $option
-
object $option (default: $option)
-
-
-
processResponseCode(): HttpRequest
Обработать HTTP-код-
callable $callback (default: None)
-
Response $response (default: $response)
-
-
integer $code (default: 200)
-
-
refuser(): HttpRequest
Обработать ошибку запроса. Это может быть ошибка connect и прочее-
callable $callback (default: None)
-
RequestException $e (default: $e)
-
-
-
addBody(): HttpRequest
Отправить Body-
string $body (default: None)
-
-
addJson(): HttpRequest
Загрузка данных в кодировке JSON в качестве тела запроса. Заголовок Content-Typeapplication/json
будет добавлен, если в сообщении уже нет заголовка Content-Type.-
mixed $data (default: None)
-
-
saveBody(): HttpRequest
Добавить Путь, где будет сохранен body ответ -
send(): HttpRequest
Метод отправляет запрос на указанный URL -
response(): GuzzleResponse
Возрощает Response пакета Guzzle
Опции и их компоненты
Redirect
> HttpRequest::O_REDIRECT
-
redirect()
Разришение Перенаправлений-
boolean $performRedirects (default: false)
-
-
numberRedirects()
Кол-во Перенаправлений-
integer $redirects (default: 5)
-
-
strictRedirect()
Строгие Перенаправления-
boolean $strictly (default: false)
-
-
addRefererOnRedirect()
Разрешить добавление заголовка referer при обноружении перенаправления-
boolean $allowDispatch (default: true)
-
-
redirectHandler()
Обработчик при обнаружении перенаправления-
object|callable $allowDispatch (default: null)
-
-
allowProtocols()
Добавить разрешенные протоколы-
string ...$args (default: [http, https])
-
Authorization
> HttpRequest::O_AUTH
-
username()
Имя пользователя-
string|integer $username (default: null)
-
-
password()
Пароль пользователя-
string|integer $password (default: null)
-
-
type()
Тип аутификации [basic, digest, ntlm]-
string $type (default: null)
-
-
disable()
Отключить аутификацию-
None (default: true(On))
-
-
enable()
Включить аутификацию-
None (default: true(On))
-
Timeout(сек)
> HttpRequest::O_TIMEOUT
-
connectionTime()
Время подключения к серверу-
integer|float $time (default: 0)
-
-
requestTime()
Время запроса-
integer|float $time (default: 0)
-
-
readTime()
Время использования при чтении потокового тела-
integer|float $time (default: default_socket_timeout of php.ini)
-
SSL Cert
> HttpRequest::O_SSL
-
certificate()
Путь к файлу, содержащему сертификат в формате PEM-
string $pathCertificate (default: None)
-
string|null $password (default: null)
-
-
key()
Путь к файлу, содержащему закрытый ключ SSL в формате PEM-
string $pathCertificate (default: None)
-
string|null $password (default: null)
-
-
verify()
Включить проверку SSL или Установить путь к собственому сертификату на диске-
boolean|string $pathOrStatus (default: true)
-
Proxy
> HttpRequest::O_PROXY
-
setProxy()
Добавить прокси с определенным протоколом-
string $proxy (default: null) - URL-адрес прокси
-
string|null $protocol (default: None) - Протокол прокси
-
-
username()
Имя пользователя-
string $username (default: None) - Пример с именем пользователя [http://username:password@127.0.0.1:80]
-
-
password()
Пароль пользователя-
string $password (default: None)
-
-
setUser()
Объединение методовusername()
иpassword()
-
string $username (default: None)
-
string $password (default: None)
-
boolean $forAllAddresses (default: false) - Добавить ко всем следующим URL-адресам имя пользователя и пароль
-
-
preventProxy()
Добавить имена хостов, которые не следует проксировать-
string ...$args (default: None)
-
Params
HttpRequest::O_PARAMS
-
form()
Передать POST данные, если метод запроса POST-
array $data (default: None)
-
-
query()
Передать GET данные, если метод запроса GET-
array $data (default: None)
-
-
withFiles(): ParamsOption
Отправить файлы. Не работает вместе с методомform()
-
string $inputName (default: None)
-
mixed NOT null $contents (default: None) - Данные для использования в элементе формы.
-
?string $filename (default: Null)
-
?array $headers (default: [])
-
Headers
HttpRequest::O_HEADERS
decodeContent(): HeadersOption
Укажите, будут лиContent-Encoding
ответы (gzip, deflate и т. Д.) Автоматически декодироваться.-
string|boolean $decode (default: true)
-
header()
Добавить заголовок-
string $name (default: None)
-
mixed $value (default: None)
-
onHeaders()
Вызываемый объект, который вызывается, когда HTTP-заголовки ответа получены, но тело еще не начало загружаться.-
callable $callback (default: None)
-
Response $response (default: Response)
-
-
expect()
Управляет поведением заголовка «Expect: 100-Continue».-
integer|boolean $rule (default: 1048576)
-
Http
HttpRequest::O_HTTP
setVersion()
Установить версию протокола-
integer|float $version (default: 1.1)
-
stream()
Установить потоковою передачу ответа, а не для загрузки сразу-
boolean $status (default: false)
-
idnConversion()
Поддержка интернационализированных доменных имен (IDN) (включена по умолчанию, еслиintl
расширение доступно).-
integer|boolean $support (default: true or false)
-
httpExceptions()
Выдача исключений по HTTP-code-
boolean $status (default: true)
-
ipVersion()
Установить версию IP-
string $version (default: None)
-
stats()
Позволяет получить доступ к статистике передачи запроса и доступ к деталям передачи нижнего уровня обработчика, связанного с вашим клиентом.-
callable $callback (default: None)
-
TransferStats $stats (default: TransferStats)
-
-
sync()
Сообщить обработчикам HTTP, что вы собираетесь ожидать ответ. Это может быть полезно для оптимизации-
boolean $status (default: None)
-
Progress
HttpRequest::O_PROGRESS
progress()
Определяет функцию, вызываемую при выполнении передачи.-
callable $callback (default: None)
-
integer $downloadTotal (default: 0) - общее количество байтов, ожидаемых к загрузке, ноль, если неизвестно
-
integer $downloadedBytes (default: 0) - количество байтов, загруженных на данный момент
-
integer $uploadTotal (default: 0) - общее количество байтов, которые должны быть загружены
-
integer $uploadedBytes (default: 0) - количество байтов, загруженных на данный момент
-
-
Response Методы
-
responseType()
Преоброзовать ответ Body в ТИП:-
integer $type (default: String(4))
Response::RESPONSE_JSON
Response::RESPONSE_ARRAY
Response::RESPONSE_OBJECT
Response::RESPONSE_STRING
-
-
getBody()
Получить Body ответа -
getHttpCode()
Получить HTTP-код -
getResponseGuzzle(): GuzzleResponse
Вернуть обьект классаGuzzleResponse
-
__call()
Другие методы из обьектаGuzzleResponse
Подробнее
Отправка запроса
use Codememory\Screw\HttpRequest; $httpRequest = new HttpRequest(); $response = $httpRequest ->setUrl('http://example.com/') // Url запроса ->setMethod('GET') // Метод запроса ->send();
Запрос с опциями
$httpRequest ->setUrl('http://example.com/') ->setMethod('GET') ->option(HttpRequest::O_REDIRECT, function(RedirectOption $redirect): RedirectOption { $redirect ->redirect(true); return $redirect; }) ->send();
Пример использования несколько опций и их компоненты:
$httpRequest ->setUrl('http://example.com/') ->setMethod('GET') ->option(HttpRequest::O_REDIRECT, function(RedirectOption $redirect): RedirectOption { $redirect ->redirect(true) ->allowProtocols('http'); return $redirect; }) ->option(HttpRequest::TIMEOUT, function(TimeoutOption $timeout): TimeoutOption { $timeout ->delay(4) ->requestTime(5); return $timeout; }) ->send();