decodelabs/hydro
最新稳定版本:v0.2.5
Composer 安装命令:
composer require decodelabs/hydro
包简介
Simple PSR18 HTTP client wrapper around Guzzle
README 文档
README
Simple HTTP client wrapper around Guzzle
Hydro provides a simple interface to common HTTP client functionality using Guzzle under the hood.
Installation
This package requires PHP 8.4 or higher.
Install via Composer:
composer require decodelabs/hydro
Usage
Basic usage for different types of files:
use DecodeLabs\Hydro; use DecodeLabs\Monarch; $hydro = Monarch::getService(Hydro::class); $memoryFile = $hydro->get('https://example.com/file.txt'); // Atlas file $string = $hydro->getString('https://example.com/file.txt'); // String $file = $hydro->getFile('https://example.com/file.txt', '/path/to/save/file.txt'); // Local file $tempFile = $hydro->getTempFile('https://example.com/file.txt'); // Temp file $json = $hydro->getJson('https://example.com/file.json'); // Decoded JSON array $tree = $hydro->getJsonTree('https://example.com/file.json'); // Decoded JSON Collections/Tree
Options
Pass an array of options (including URL) to the underlying client:
$hydro->get([ 'url' => 'https://example.com/file.txt', 'timeout' => 10 ]);
Errors
Handle error status responses (or return alternative response):
$file = $hydro->get('https://example.com/file.txt', function($response) { switch($response->getStatusCode()) { case 404: throw Exceptional::Notfound( message: 'File not found' ); case 500: throw Exceptional::Runtime( message: 'Server error' ); default: return $hydro->request('GET', 'https://example.com/other.txt'); } });
Licensing
Hydro is licensed under the proprietary License. See LICENSE for the full license text.
统计信息
- 总下载量: 1.01k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 0
- 依赖项目数: 2
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2023-10-16