innmind/rest-client
innmind/rest-client is a simple PHP REST client for consuming HTTP APIs. It offers a clean interface for building requests, handling responses, and integrating remote REST services into Laravel or plain PHP applications without boilerplate.
Http facade, adopt Saloon, or hand-roll a domain-specific client.Http::fake() everywhere.Consider only in these narrow cases:
http/http-client abstractions), where API conventions and version alignment already exist.Look elsewhere when:
Http client (Guzzle-backed) for synchronous work and Http::pool()/queues for concurrency; use Saloon when you need structured, testable, per-service connectors with auth, retries, and record/replay testing.To executives: This is not a vendor we should adopt. It is a small, archived, MIT-licensed PHP library with negligible adoption, and I am recommending we use it only as a reading reference — roughly half a day of engineering time — to sanity-check the design of our outbound API layer. Cost is near zero; the value is avoiding a bespoke HTTP abstraction that we would regret. No new dependency enters the supply chain, no procurement, no ongoing licence cost.
To engineering: Treat innmind/rest-client as a pattern source, not a package. What is worth stealing: requests modeled as lazy, composable values; the transport behind a PSR-18-style interface so tests substitute a fake without touching the framework; and promise-based chaining as a model for fan-out calls. What is not worth taking: the dependency itself — archived, two stars, no dependents, no Laravel integration, no retry or logging middleware, and an unfamiliar functional API that would slow onboarding. Our default remains Laravel's Http client, with Saloon for connector-shaped integrations. If someone wants to prototype the async fan-out path against this code, that is a timeboxed spike, not a branch.
To the security and platform reviewer: No adoption proposed. Flagging it here only so the evaluation is on record: archived upstream, single maintainer history, no CVE process, no PHP-version support commitment. We are deliberately not adding it to the dependency inventory.
The ask: approve a short design-review spike to extract the interface pattern, and confirm the standing decision that HTTP transport in this codebase is standardized on Laravel Http (sync) plus queued jobs or Http::pool (concurrency), with Saloon as the escape hatch for complex third-party connectors.
How can I help you explore Laravel packages today?