kinetis/revolt-http-client

A Revolt-native, Fiber-suspending implementation of Symfony's HttpClientInterface — usable standalone by any project (AsyncAws or otherwise), not only Kinetis.

Maintainers

Package info

github.com/kinetis-dev/revolt-http-client

pkg:composer/kinetis/revolt-http-client

Transparency log

Statistics

Installs: 26

Dependents: 5

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.3 2026-08-16 08:56 UTC

This package is auto-updated.

Last update: 2026-08-16 08:57:27 UTC


README

Kinetis

kinetis/revolt-http-client
A Revolt-native, Fiber-suspending implementation of Symfony's HttpClientInterface

Packagist Version Packagist Downloads PHP Version License CI

Built for Kinetis, but usable in any PHP project — this package depends on nothing beyond symfony/http-client (and its symfony/http-client-contracts) and amphp/http-client. No kinetis/framework required.

use Kinetis\RevoltHttpClient\AmpHttpClientFactory;

$client = AmpHttpClientFactory::create();
$response = $client->request('GET', 'https://example.com/');
$response->getContent();

A request made through this client suspends the calling Fiber and yields back to Revolt's event loop while waiting on the network, instead of blocking the whole process.

Using it with AsyncAws

Every AsyncAws client — S3, SQS, SES, DynamoDB, or any of its other services — extends AsyncAws\Core\AbstractApi, whose constructor takes an optional ?HttpClientInterface $httpClient:

use AsyncAws\S3\S3Client;
use Kinetis\RevoltHttpClient\AmpHttpClientFactory;

$s3 = new S3Client(['region' => 'us-east-1'], null, AmpHttpClientFactory::create());

Nothing about this is Kinetis-specific — the same pattern works for any other library that accepts an injectable HttpClientInterface.

Installation

composer require kinetis/revolt-http-client

Requires PHP 8.4+ (the floor symfony/http-client:^8.0 itself requires). Full documentation: docs.kinetis.dev/revolt-http-client.html.

License

MIT — see LICENSE.