path() === $data['secret']) { return $this->bypassResponse($data['secret']); } if ($this->hasValidBypassCookie($request, $data) || $this->inExceptArray($request)) { return $next($request); } if (isset($data['redirect'])) { $path = $data['redirect'] === '/' ? $data['redirect'] : trim($data['redirect'], '/'); if ($request->path() !== $path) { return redirect($path); } } if (isset($data['template'])) { return response( $data['template'], (int) ($data['status'] ?? 503), $this->getHeaders($data) ); } throw new HttpException( (int) ($data['status'] ?? 503), 'Service Unavailable', null, $this->getHeaders($data) ); } return $next($request); } }