codememory / screw
Component for sending Http RequestAuthor
Installs: 63
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/codememory/screw
Requires
- php: >= 7.1
- guzzlehttp/guzzle: ^7.2
This package is auto-updated.
Last update: 2025-09-29 02:50:43 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();