1234567891011121314151617181920212223242526272829303132 |
- <?php
- namespace App\Http\Middleware;
- use Closure;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\Cache;
- use Illuminate\Support\Str;
- class RouteCache
- {
- /**
- * Handle an incoming request.
- *
- * @param \Illuminate\Http\Request $request
- * @param \Closure $next
- * @return mixed
- */
- public function handle($request, Closure $next)
- {
- $response = Cache::remember($this->makeCacheKey($request), 1, function () use($next, $request) {
- return $next($request);
- });
- return $response;
- }
- protected function makeCacheKey(Request $request) {
- $url = Str::slug($request->url());
- return "route:$url";
- }
- }
|