Mcamara\LaravelLocalization\Middleware\LocaleSessionRedirect::handle PHP Method

handle() public method

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