iltar/http-bundle
An HTTP bundle for Laravel that packages common HTTP tasks into a simple integration, making request and response handling easier in your application. Lightweight, easy to install, and designed to fit smoothly into existing Laravel projects.
composer require iltar/http-bundle:^1.1 on a scratch branch. On Symfony 4.x this likely resolves now; on Symfony 5+ expect the same symfony/http-kernel conflict as the previous assessment, because the "forward compatibility" stops at 4. The path/VCS-with-widened-constraints fallback still stands.config/bundles.php on Flex, AppKernel::registerBundles() on legacy. The vendor/package mismatch (Composer iltar/http-bundle vs repo linaori) is still real; config root key still comes from the bundle's getContainerExtension() alias, not the package name.README.md — still the only authoritative statement of intended behavior.src/DependencyInjection/Configuration.php + Extension.php — still the real API surface.src/Resources/config/*.xml|yaml — still where priorities and tags live.src/EventListener/ and src/EventSubscriber/ — still where the request-cycle behavior lives.bin/console config:dump-reference <alias> and bin/console debug:event-dispatcher kernel.request. Enable exactly one toggle from the config tree, hit a route, confirm behavior in the profiler. On a Symfony 4.x target, additionally run the suite with SYMFONY_DEPRECATIONS_HELPER=max[direct]=0 — that tells you whether the patch actually closed the deprecation surface or just reduced it.config/packages/<alias>.yaml rather than wiring services by hand; you get the bundle's own defaults and priorities for free.kernel.request ≈ global middleware before routing, kernel.response ≈ response-transform middleware, kernel.exception ≈ app/Exceptions/Handler. If you are porting a behavior into Laravel, port it at that layer, not as a controller concern.decorates: <service_id> in your own services.yaml, or register a competing subscriber with a higher priority on the kernel.event_subscriber tag. Read the bundle's priorities in its service definitions before picking a number.parameters/env so you can disable it per environment. One patch release does not make an archived-era bundle load-bearing; keep the kill switch.^1.1 and treat 1.1.4 as the modern baseline. The forward-compat work landed as a patch, so it is non-breaking. Anything below 1.1.4 is pre-forward-compat and not worth starting a new integration on.WebTestCase / KernelBrowser and assert on the response. These listeners only make sense in a full request cycle; unit-testing a subscriber in isolation misses ordering effects — and, post-1.1.4, misses which deprecation path the patched code takes.FilterResponseEvent-era renames and ContainerAwareInterface to be papered over for Symfony 4.x. They are not addressed for Symfony 5/6 — the 5.0 removal of ContainerAwareInterface and the FilterResponseEvent → ResponseEvent renames are still on you. The upgrade path is now "works on 4, fork to go further", not "fork from 2017".SYMFONY_DEPrecATIONS_HELPER=max[direct]=0 (or max[total]=0 on stricter CI) with E_ALL in a test env, exercise the bundle's listeners through the kernel, and read the list. Anything the patch missed will surface there — that is a cheap check that tells you whether you're on a clean Symfony 4 baseline or still patching by hand.each()-adjacent idioms from that era can still fatal. Run on your target PHP before committing.debug:event-dispatcher (with --dispatcher=event_dispatcher) shows listener order and priorities; debug:container --tag=kernel.event_subscriber lists everything tagged; cache:clear after any config change, since the container is compiled.Configuration.php files often omit ->cannotBeEmpty() / enum validation, and 1.1.4 was a deprecation/compat pass, not a config-tree rewrite — a typo silently falls back to a default. Grep the config tree for the key you set and confirm the default differs from what you passed.HttpKernelInterface decoration (to wrap the whole cycle), and the kernel.event_subscriber tag's priority attribute (the surgical option). Prefer the tag priority — it is the least invasive and survives a fork cleanly, which still matters here because 1.1.4 is a patch, not a promise of future patches.How can I help you explore Laravel packages today?