PHPackages                             webpatser/fledge-fiber-http - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [HTTP &amp; Networking](/categories/http)
4. /
5. webpatser/fledge-fiber-http

ActiveLibrary[HTTP &amp; Networking](/categories/http)

webpatser/fledge-fiber-http
===========================

Non-blocking Fiber-based HTTP client handler for Fledge/Laravel using amphp

v13.3.0.0(yesterday)04↑650%MITPHPPHP ^8.5

Since Apr 6Pushed yesterdayCompare

[ Source](https://github.com/webpatser/fledge-fiber-http)[ Packagist](https://packagist.org/packages/webpatser/fledge-fiber-http)[ RSS](/packages/webpatser-fledge-fiber-http/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (7)Versions (3)Used By (0)

Fledge Fiber HTTP
=================

[](#fledge-fiber-http)

Non-blocking, Fiber-based HTTP client handler for [Fledge](https://github.com/webpatser/fledge) and Laravel 13 using [amphp/http-client](https://github.com/amphp/http-client).

Replaces Guzzle's default CurlHandler with an amphp-based handler that suspends PHP Fibers during I/O. Multiple concurrent HTTP requests progress in parallel without blocking.

Requirements
------------

[](#requirements)

- PHP 8.5+
- Fledge / Laravel 13 (with `Factory::globalHandler()` support)
- `amphp/http-client` ^5.3 (included)

Installation
------------

[](#installation)

```
composer require webpatser/fledge-fiber-http
```

The service provider is auto-discovered. All `Http::get()`, `Http::post()`, etc. calls automatically use the non-blocking handler.

How It Works
------------

[](#how-it-works)

Every HTTP request made through Laravel's HTTP client (`Http` facade, `PendingRequest`) is dispatched via amphp's event loop:

1. The request is sent on the socket
2. The current Fiber suspends while waiting for the response
3. Other Fibers progress (database queries, Redis operations, etc.)
4. When the response arrives, the Fiber resumes

All Guzzle middleware (retries, logging, authentication) works unchanged — the handler only replaces the transport layer.

Concurrent Requests
-------------------

[](#concurrent-requests)

Laravel's `Http::pool()` benefits automatically — each request in the pool runs in a separate Fiber:

```
$responses = Http::pool(fn (Pool $pool) => [
    $pool->get('https://api.example.com/users'),
    $pool->get('https://api.example.com/posts'),
    $pool->get('https://api.example.com/comments'),
]);
```

Per-Request Handler Override
----------------------------

[](#per-request-handler-override)

To use a different handler for specific requests:

```
Http::setHandler(new \GuzzleHttp\Handler\CurlHandler)
    ->get('https://example.com');
```

Testing
-------

[](#testing)

```
composer test
```

License
-------

[](#license)

MIT

###  Health Score

43

—

FairBetter than 90% of packages

Maintenance100

Actively maintained with recent releases

Popularity5

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

2

Last Release

1d ago

Major Versions

v0.1.0 → v13.3.0.02026-04-06

### Community

Maintainers

![](https://www.gravatar.com/avatar/e442a1d15a5b64438f3b471acfded80951afb1bed23641cfd80c5254099eab9d?d=identicon)[webpatser](/maintainers/webpatser)

---

Top Contributors

[![webpatser](https://avatars.githubusercontent.com/u/25720?v=4)](https://github.com/webpatser "webpatser (2 commits)")

---

Tags

amphpasyncfiberfledgeguzzlehttplaravelhttpasynclaravelGuzzleamphpfiberfledge

###  Code Quality

TestsPest

### Embed Badge

![Health badge](/badges/webpatser-fledge-fiber-http/health.svg)

```
[![Health](https://phpackages.com/badges/webpatser-fledge-fiber-http/health.svg)](https://phpackages.com/packages/webpatser-fledge-fiber-http)
```

###  Alternatives

[graham-campbell/guzzle-factory

Provides A Simple Guzzle Factory With Good Defaults

916.4M49](/packages/graham-campbell-guzzle-factory)[kozz/laravel-guzzle-provider

Guzzle 5/6 Service Provider for Laravel

621.1M2](/packages/kozz-laravel-guzzle-provider)[amphp/http-client-guzzle-adapter

Guzzle adapter for Amp's HTTP client.

1523.6k1](/packages/amphp-http-client-guzzle-adapter)[onlime/laravel-http-client-global-logger

A global logger for the Laravel HTTP Client

1935.1k](/packages/onlime-laravel-http-client-global-logger)[dragon-code/laravel-http-logger

Logging incoming HTTP requests

319.8k3](/packages/dragon-code-laravel-http-logger)[laragear/json

Easily retrieve and manipulate `Json` across your application.

363.5k](/packages/laragear-json)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
