overtrue/http

A simple http client wrapper.

Maintainers

👁 overtrue

Package info

github.com/overtrue/http

pkg:composer/overtrue/http

Fund package maintenance!

overtrue

Statistics

Installs: 351 159

Dependents: 41

Suggesters: 0

Stars: 126

Open Issues: 2

1.2.3 2022-03-14 06:24 UTC

Requires

Requires (Dev)

Suggests

None

Provides

None

Conflicts

None

Replaces

None

MIT e6e4c2ff274b1050d681288495878ee8fd3f1209

  • overtrue <anzhengchao.woop@gmail.com>

README

Http

🌵 A simple http client wrapper.

👁 Build Status
👁 Latest Stable Version
👁 Latest Unstable Version
👁 Build Status
👁 Scrutinizer Code Quality
👁 Total Downloads
👁 License

👁 Sponsor me

Installing

$ composer require overtrue/http -vvv

Usage

<?php

use Overtrue\Http\Client;

$client = Client::create(); 

$response = $client->get('https://httpbin.org/ip');
//{
// "ip": "1.2.3.4"
//}

Configuration:

use Overtrue\Http\Client;

$config = [
 'base_uri' => 'https://www.easyhttp.com/apiV2/',
 'timeout' => 3000,
 'headers' => [
 'User-Agent' => 'MyClient/1.0',
 'Content-Type' => 'application/json'
 ]
 //...
];

$client = Client::create($config); // or new Client($config);

//...

Custom response type

$config = new Config([
 'base_uri' => 'https://www.easyhttp.com/apiV2/',
 
 // array(default)/collection/object/raw
 'response_type' => 'collection', 
]);

//...

Logging request and response

Install monolog:

$ composer require monolog/monolog

Add logger middleware:

use Overtrue\Http\Client;

$client = Client::create();

$logger = new \Monolog\Logger('my-logger');

$logger->pushHandler(
 new \Monolog\Handler\RotatingFileHandler('/tmp/my-log.log')
);

$client->pushMiddleware(\GuzzleHttp\Middleware::log(
 $logger,
 new \GuzzleHttp\MessageFormatter(\GuzzleHttp\MessageFormatter::DEBUG)
 ));

$response = $client->get('https://httpbin.org/ip');

❤️ Sponsor me

👁 Sponsor me

如果你喜欢我的项目并想支持它,点击这里 ❤️

Project supported by JetBrains

Many thanks to Jetbrains for kindly providing a license for me to work on this and other open-source projects.

👁 Image

PHP 扩展包开发

想知道如何从零开始构建 PHP 扩展包?

请关注我的实战课程,我会在此课程中分享一些扩展开发经验 —— 《PHP 扩展包实战教程 - 从入门到发布》

License

MIT