saloonphp/laravel-plugin
Official Laravel integration for Saloon, the PHP HTTP client. Wire API integrations into Laravel with service provider and facade support, Laravel HTTP client sending, configuration, events, and testing helpers, making it easy to build and test robust API clients in your app.
php artisan saloon:connector / saloon:request / saloon:response / saloon:auth generate the class skeleton (including --oauth and selectable HTTP verbs), so the team starts at the connector contract rather than at Guzzle boilerplate.Saloon::fake() / global mock client support means external-API features can be covered in CI without hitting sandboxes or burning provider rate limits. That's a direct lever on release confidence and flakiness in the pipeline — a PM-visible quality metric, not just an engineering nicety.saloon-development agent skill, and v3.11+/v4 added an ide.json for IDE code generation. Concretely: new hires and AI pair-programming tools produce idiomatic connector code from day one instead of a fifth hand-rolled HTTP wrapper. Weigh this against documentation debt in the platform team's roadmap.saloon:list enumerates integrations, and saloon:connector now suggests existing integrations plus resolves the configured integrations_path. That's the seed of a discoverable integration catalog — useful for audits, vendor-deprecation planning, and answering "what third parties can see our customer data?" in a security review.Adopt when all of these hold:
app/Http/Integrations/* that any engineer can navigate.Look elsewhere when:
For executives — one paragraph: We're proposing a small, MIT-licensed Laravel plugin that standardizes how our application talks to third-party APIs. It doesn't add a new vendor or cost; it replaces hand-written HTTP code with a consistent, testable pattern, generates the boilerplate for each new integration via Artisan commands, and pipes outbound calls into the monitoring tools we already run. The business impact is delivery speed on integration-heavy roadmap items, fewer production incidents from poorly instrumented API calls, and lower onboarding cost — with the main trade-off being a recurring maintenance cadence as the underlying library ships new major versions.
For engineering — the practical case:
saloon:connector, saloon:request (with HTTP-method selection), saloon:response, saloon:plugin, saloon:auth (--oauth), plus saloon:list for inventory. integrations_path is honored, including paths outside app/.Saloon::fake(); note the legacy MockClient path is deprecated in favor of the global mock client. Plan the test-suite migration accordingly.saloon-development agent skill, and ide.json — relevant if we're investing in AI-assisted development.Decision requested: approve a time-boxed pilot on the next integration (target: one connector end-to-end with Telescope/Pulse visibility and mocked CI tests), then a go/no-go on standardizing the pattern repo-wide — measured by time-to-first-working-connector, incident MTTR on outbound calls, and integration test flakiness.
How can I help you explore Laravel packages today?