leaseweb/api-caller-bundle
Adds a configurable cURL API caller to Symfony2 applications, supporting GET, POST, PUT and DELETE requests with JSON or HTML responses. It offers full debugging capabilities and simple service-based usage from your controllers.
api_caller service with HttpGetJson, HttpPostJson, HttpPostJsonBody, HttpPutJson, HttpDeleteJson, HttpGetHtml), one place to enforce timeouts, SSL verification, user agent, and redirect policy. A PM can use it to argue for a single sanctioned HTTP client in the codebase instead of ad-hoc cURL per feature — with the caveat that in Laravel the equivalent lives in the Http facade plus Guzzle middleware and Telescope, not in this bundle.HttpKernel, EventDispatcher, bundle registration, and the web profiler; none of that substrate exists in Laravel, so only the trivial cURL wrapper is portable and the debugging surface — the reason to care — is lost. PHP 5.3-era requirements, no dependents, and a last release in February 2018 also make it unsuitable as a candidate dependency on any modern stack. Treat it as a reference design and a migration input.Consider it (more realistically, consider its design) when:
ApiCaller service shape as a starting point — accepting that you now own maintenance of an abandoned package.Look elsewhere when:
AppKernel, no Symfony bundle registration, and no web profiler to integrate with. Use Laravel's Http facade (Guzzle underneath) with middleware plus Telescope or a custom logger for capture and timing.Http facade plus Telescope. All maintained, all with better ecosystem support.For executives — one paragraph: This is a small, MIT-licensed Symfony 2 add-on from LeaseWeb that wraps cURL API calls and surfaces every outbound request in the Symfony debug toolbar, so developers can see exactly what was sent to a third party and what came back. Its strategic value to us is not as a dependency: it is a Symfony bundle, not a Laravel package, it is tied to an end-of-life PHP and Symfony generation, it has had no release since 2018, and it has no downstream users. Its value is as a validated pattern — teams that can inspect outbound traffic resolve integration incidents faster and write fewer one-off debug paths. The recommendation is to fund that capability natively on our current stack (Laravel Http + Telescope, or Symfony HttpClient's profiler collector) rather than adopt this package. The cost is small, the support-ticket savings are real, and we avoid inheriting an unmaintained fork.
For engineering — three bullets:
composer.json.Http facade over Guzzle 7, with middleware for retry/timeout/logging and Telescope for request capture and timing, covers the feature set on a maintained foundation. On Symfony, HttpClient ships a profiler data collector that does the same. Neither requires a fork, a security-review exception, or a named maintainer.How can I help you explore Laravel packages today?