ambroisemaupate/intervention-request
Intervention Request serves dynamically resized, cropped, and filtered images through a single route, built on Intervention Image. URL parameters define transformations, with caching and source protection included, making it a lightweight alternative to full image CDNs in Laravel and PHP projects.
InterventionRequest and worker-mode support improve fit for long-running runtimes such as FrankenPHP, Laravel Octane, RoadRunner, or Swoole, but only if all custom integration code is stateless.InterventionRequest::getResponse is a hard API break. Any Laravel controller, middleware, command, or custom service that calls getResponse() or assumes handleRequest() only dispatches work must migrate to handleRequest($request)->send() or adapt the returned response into the Laravel response lifecycle. Direct send() inside Laravel should be used carefully because it bypasses normal framework response handling./var/www/html/web to /app/public will break existing volume mounts and IR_IMAGES_PATH / IR_CACHE_PATH configuration. Misconfigured deployments may appear healthy but return 404s, fail to write cache, or write into ephemeral container storage.x/y are supplied. The crop processor fix without width/height reduces edge-case failures but should be regression-tested against existing image URLs.: separators but the example uses ; between normalized coordinates. This must be confirmed before exposing the feature to users or building URL-generation helpers.7.0.1. Confirm package version, image tag, and whether latest is moving. Pin immutable tags or digests in production.getResponse() or any stateful service usage? Which Docker flavor will we standardize on: plain PHP or FrankenPHP? Who owns cache cleanup if FrankenPHP has no cron? Are transformation URLs public, signed, rate-limited, and validated? Do we need backward compatibility for existing hotspot URLs?InterventionRequest, getResponse, Docker Compose paths, environment variables, and volume mappings. Pin the current 6.x image first. Create a branch upgrading code to handleRequest($request)->send() or equivalent response adaptation. Update Compose paths to /app/public/assets and /app/public/images, update IR_IMAGES_PATH and IR_CACHE_PATH, then test in staging with representative image URLs./app/public/assets and /app/public/images. If using FrankenPHP, add Caddy /data and /config volumes and confirm port/reverse-proxy configuration.getResponse on a branch; 3) update Docker image tag and path configuration; 4) stage with cache cleared and image fixtures; 5) run side-by-side or blue/green rollout; 6) monitor 404/5xx rates, cache hit ratio, latency, and worker restarts; 7) document rollback to 6.x tag and old volume paths until confidence is established.latest. Track upstream releases, PHP 8.4 lifecycle, and FrankenPHP maturity. Maintain separate runbooks for plain PHP and FrankenPHP flavors because cron behavior differs./app/public change, permission errors on cache volumes, stale cached images, 404s from missing source images, worker memory growth, FrankenPHP restart loops, missing cron-based cache cleanup, invalid hotspot parameters, and image-processing timeouts on large assets.How can I help you explore Laravel packages today?