cleverage/rest-process-bundle
CleverAge/RestProcessBundle adds REST integration to the CleverAge ProcessBundle for Symfony, letting you connect process workflows to HTTP APIs. Compatible with stable Symfony and LTS releases; pair it with the core ProcessBundle docs.
RequestTask (declarative HTTP calls with valid_response_code semantics), Client (URL/parameter handling), ClientRegistry (clients registered by code), and MissingClientException. That is a real, maintained abstraction worth taking rather than re-implementing. What we cannot take is the delivery mechanism: the bundle class, DI extension, compiler pass and services.yaml wiring are Symfony-specific and will not boot inside a Laravel container. The PM decision is "adopt the runtime classes, budget a thin Laravel service provider," not "install the package."log_response records the requested URL plus status/headers/content instead of a response-object dump, valid_response_code entries for 3xx/4xx/5xx return the body while still failing the task, non-array input throws an explicit UnexpectedValueException, duplicate client codes name both colliding service IDs. Nothing here forces a PHP or Symfony upgrade, so it must not be used as justification to pull a framework upgrade into the roadmap.Client::geUri() → Client::getUri() is a greppable rename with identical behaviour. Track it as low-priority cleanup before our next major, not a project.Adopt if all of the following hold:
Client, ClientRegistry and RequestTask, and accepting that the bundle's compiler pass is replaced by our own registration.Look elsewhere, or scope down hard, if any of the following hold:
Executives (one paragraph): "We evaluated this library for connecting our workflows to third-party REST APIs. The engineering value is real and the maintenance line is active — recent releases are all about making failures diagnosable: errors that were previously silent now log the real URL, status, headers and body, and misconfigurations now name the offending services. But there is a fit problem: it is built for Symfony, and we run Laravel. Adopting it means we write and own a small integration layer ourselves. My recommendation is a timeboxed two-day spike to confirm the core classes are framework-agnostic; if they are, we take the library and own roughly a day of glue, which is still cheaper than building equivalent behaviour. If they are not, we fall back to the framework's HTTP client plus a lightweight internal registry — a similar outcome for similar cost, without the dependency. Either way, this is a small, low-risk line item, not a platform decision."
Engineering (summary):
"cleverage/rest-process-bundle gives us RequestTask (HTTP calls with per-call valid_response_code rules), Client, and a ClientRegistry keyed by client code, plus tests around the error paths. It is a Symfony bundle — the bundle class, DI extension and compiler pass will not run under Laravel. So the proposal is to consume the framework-agnostic runtime classes and re-bind them in a Laravel service provider; everything else is ours.
Worth knowing before the spike: valid_response_code entries for 3xx/4xx/5xx now return the response body while still failing the task (previously the body was lost); log_response logs the requested URL and real status/headers/content, not the configured URL and a response object; transport errors are logged rather than swallowed; non-array input to RequestTask throws an explicit UnexpectedValueException; scalar URL params are cast to string. One deprecation: Client::geUri() → Client::getUri() — mechanical rename, identical behaviour.
Risks, stated plainly: near-zero community (0 stars, 0 dependents) means we are the de-facto maintainers of any fork or glue; and the bundle layer is dead weight for us. Exit criteria for the spike: the four runtime classes instantiate without Symfony DI, and one real endpoint works end-to-end through our provider. If either fails, take the fallback."
How can I help you explore Laravel packages today?