Mcamara\LaravelLocalization\Middleware\LocaleCookieRedirect::handle PHP 메소드

handle() 공개 메소드

Handle an incoming request.
public handle ( Illuminate\Http\Request $request, Closure $next ) : mixed
$request Illuminate\Http\Request
$next Closure
리턴 mixed
    public function handle($request, Closure $next)
    {
        $params = explode('/', $request->path());
        $locale = $request->cookie('locale', false);
        if (count($params) > 0 && app('laravellocalization')->checkLocaleInSupportedLocales($params[0])) {
            return $next($request)->withCookie(cookie()->forever('locale', $params[0]));
        }
        if ($locale && app('laravellocalization')->checkLocaleInSupportedLocales($locale) && !(app('laravellocalization')->getDefaultLocale() === $locale && app('laravellocalization')->hideDefaultLocaleInURL())) {
            $redirection = app('laravellocalization')->getLocalizedURL($locale);
            $redirectResponse = new RedirectResponse($redirection, 302, ['Vary' => 'Accept-Language']);
            return $redirectResponse->withCookie(cookie()->forever('locale', $params[0]));
        }
        return $next($request);
    }
LocaleCookieRedirect