Простой HTTP client для PHP 7.1

1.29K
.
Ethereum
Folour
Собственно стукнуло мне в голову написать небольшой клиент для HTTP запросов. Собственно сегодня запушил первую бетку, кому интересно велком на гитхаб
https://github.com/folour/oxide

Требует PHP 7.1 и php-curl
Установка:
composer require folour/oxide 'v1.0.0-beta'

Немного примеров:
<?php declare(strict_types=1);
    
    use Folour\Oxide\Oxide;
    
    $oxide = new Oxide();
    $oxide
        ->setHeaders([
            'Referer' => 'http://local.dev'
        ])
        ->setCookies([
            'cookie' => 'value'
        ])
        ->setProxy('user:pwd@127.0.0.1:8080');
    
    $response = $oxide->post('http://httpbin.org/post', ['test']);

    //Собственно тело страницы
    echo $response->body(); //or echo $response
    //Код ответа
    echo $response->code();

    //Массив с заголовками
    var_dump($response->headers());

Умеет такие HTTP методы

echo $oxide->get('http://httpbin.org/get', ['key' => 'value']);
echo $oxide->head('http://httpbin.org/get', ['key' => 'value']);
echo $oxide->post('http://httpbin.org/post', ['key' => 'value']);
echo $oxide->put('http://httpbin.org/put', ['key' => 'value']);
echo $oxide->delete('http://httpbin.org/delete', ['key' => 'value']);


Собственно, пробуйте, кому интересно. Принимаю предложения и пожелания по улучшению ?
.
Ей 25
Интересно) Такой себе мини Guzzle, где нет ничего лишнего.
.
Folour
ValekS, Да, типа того. Пишу парсер, а там такое чудо нужно, но guzzle слишком толстый для такого, вот и решил свой велосипед написать ?
Да и + в резюме как-никак)
.
PSR-7 бы туда, и было бы круто
.
Folour
# Delphinum (03.06.2017 / 22:24)
PSR-7 бы туда, и было бы круто
Обдумаю такой вариант, если выйдет не слишком громоздко. то реализую
.
Ethereum, как вариант, качественная реализация PSR-7 для пользования:
https://github.com/zendframewo ... r/src
.
Folour
Delphinum, Почитал о Psr7, если я правильно понял это немного не то. У меня клиент для выполнения запросов на удаленные сервера, а Psr7 это реализация ОО обертки для полного управления запросами и ответами на "своем" сервере. Может что-то не так понял, хз
.
Ethereum, PSR-7 это объектное представление компонентов HTTP: запроса, ответа и всего что с этим связано.
.
Folour
Delphinum, Как я понял, в данном случае имеется ввиду реализация http-message?
.
Ethereum, она самая
Всего: 44