hoa/http
Hoa\Http is a PHP library for manipulating HTTP messages, with abstractions for requests and responses plus tools for building HTTP clients and servers. As part of the modular Hoa project, it offers reusable components for handling HTTP protocol details in PHP applications.
Illuminate\Support\Facades\Http (Guzzle-backed) for outbound calls and Illuminate\Http\Request/Response for inbound. Any HTTP abstraction need in a Laravel app is already satisfied by first-party code.nyholm/psr7, guzzlehttp/guzzle) or symfony/http-foundation — not a project-local dialect with its own autoloader and stream primitives. This package is useful mainly as a foil for that argument.hoa/* imports, that becomes a remediation ticket (replace with Guzzle/PSR-7, retest, remove the custom autoloader bootstrap), not an integration task.Adoption criteria — all would have to be true, and realistically they can't be met:
Hoa\Core bootstrap, Hoa\Stream, Hoa\Protocol) and need to keep a working HTTP layer in place while planning its removal.Look elsewhere when — i.e., essentially always in a Laravel context:
guzzlehttp/guzzle (and Laravel's Http facade on top of it), symfony/http-foundation, nyholm/psr7 + laminas/laminas-diactoros, symfony/http-client for PSR-18.Verdict: reject. Do not add to composer.json. If found as a transitive or legacy dependency, treat it as technical debt with a removal plan.
One line: We evaluated hoa/http and are not adopting it — it's archived, unmaintained since 2017, has no downstream users, and duplicates HTTP capability Laravel already provides for free.
For executives: adopting it would add a permanent maintenance liability in the most security-sensitive part of the stack (the network boundary) in exchange for zero functional gain. Our current stack — Laravel's built-in HTTP client for outbound calls and Symfony HttpFoundation for inbound — already covers every requirement, is actively patched, and is supported by a large vendor and community. Recommendation: no action beyond recording the rejection; if any hoa/* code exists in our repos, open a remediation ticket.
For engineering: the package predates PSR-7/PSR-18, ships its own autoloader and stream primitives, and has no PHP 8 compatibility commitment. Integrating it means writing adapters, pinning an unsupported PHP range, and owning the CVE surface ourselves. Use Illuminate\Support\Facades\Http / Guzzle for clients and PSR-7 implementations where an interchange format is genuinely needed. Cost of adoption: days of glue work plus indefinite maintenance. Cost of the alternative: zero — it's already installed.
How can I help you explore Laravel packages today?