wandu/http
wandu/http is a lightweight HTTP component for PHP, offering request/response abstractions and helpers for headers, cookies, and common web interactions. It provides a clean, framework-friendly foundation for building HTTP applications in Wandu or standalone projects.
Illuminate\Support\Facades\Http, Guzzle) and with any PSR-18 client + PSR-7 implementation. It does not unlock a capability we lack; it only offers a slightly friendlier header/query-string ergonomic layer.symfony/psr-http-message-bridge, potential PHP 8.x incompatibilities) without delivering differentiated value now.nyholm/psr7 + laminas-diactoros if PSR-7 value objects are genuinely needed) rather than an upgrade.Adopt only if all of the following are true — which is realistically never for new work:
Request/Response/Header classes in many call sites, making a swap a non-trivial refactor.Look elsewhere in essentially every other case:
Http facade (outbound) and Laravel’s request/header helpers (inbound). Nothing to install.nyholm/psr7, laminas/laminas-diactoros, guzzlehttp/guzzle (PSR-18 client), plus symfony/psr-http-message-bridge for Laravel.nyholm/psr7 is tiny and actively maintained. “Small” is not a differentiator when the maintained option is free and already present.For executives (one line): We evaluated wandu/http and recommend not adopting it — it is an archived, unmaintained 2016-era HTTP helper whose functionality Laravel already provides for free, so adding it would introduce dependency and security risk with no product benefit.
For engineering leadership: This is a small, framework-agnostic convenience layer over requests, responses, and headers. It is PSR-friendly but predates PSR-18 and modern PHP, has 17 stars, no release since September 2016, and the repository is archived — meaning no bug fixes and no security response. Laravel’s Http facade covers outbound calls; request/header/query handling is native. Where PSR-7 interop is genuinely required, nyholm/psr7 + symfony/psr-http-message-bridge is the maintained path.
Ask: No engineering investment. If the package already exists in a service, log it as technical debt with a low-priority replacement ticket; do not add it to any new or in-flight work. Revisit only if a legacy system proves it cannot be removed cheaply — and even then, timebox the fork/maintain decision with a named owner.
How can I help you explore Laravel packages today?