diff --git a/src/Mcamara/LaravelLocalization/Middleware/LaravelLocalizationMiddlewareBase.php b/src/Mcamara/LaravelLocalization/Middleware/LaravelLocalizationMiddlewareBase.php index 2f2a10e..e279465 100644 --- a/src/Mcamara/LaravelLocalization/Middleware/LaravelLocalizationMiddlewareBase.php +++ b/src/Mcamara/LaravelLocalization/Middleware/LaravelLocalizationMiddlewareBase.php @@ -33,4 +33,16 @@ protected function shouldIgnore($request) return false; } + + protected function shouldRedirectToLocalizedUrl($locale): bool + { + return app('laravellocalization')->checkLocaleInSupportedLocales($locale) && + ! app('laravellocalization')->isHiddenDefault($locale); + } + + protected function shouldRedirectToNonLocalizedUrl($locale): bool + { + return app('laravellocalization')->checkLocaleInSupportedLocales($locale) && + app('laravellocalization')->isHiddenDefault($locale); + } } diff --git a/src/Mcamara/LaravelLocalization/Middleware/LaravelLocalizationRedirectFilter.php b/src/Mcamara/LaravelLocalization/Middleware/LaravelLocalizationRedirectFilter.php index 054217d..c3af113 100644 --- a/src/Mcamara/LaravelLocalization/Middleware/LaravelLocalizationRedirectFilter.php +++ b/src/Mcamara/LaravelLocalization/Middleware/LaravelLocalizationRedirectFilter.php @@ -30,15 +30,13 @@ public function handle($request, Closure $next) if (\count($params) > 0) { $locale = $params[0]; - if (app('laravellocalization')->checkLocaleInSupportedLocales($locale)) { - if (app('laravellocalization')->isHiddenDefault($locale)) { - $redirection = app('laravellocalization')->getNonLocalizedURL(); + if ($this->shouldRedirectToNonLocalizedUrl($locale)) { + $redirection = app('laravellocalization')->getNonLocalizedURL(); - // Save any flashed data for redirect - app('session')->reflash(); + // Save any flashed data for redirect + app('session')->reflash(); - return new RedirectResponse($redirection, 302, ['Vary' => 'Accept-Language']); - } + return new RedirectResponse($redirection, 302, ['Vary' => 'Accept-Language']); } } diff --git a/src/Mcamara/LaravelLocalization/Middleware/LocaleCookieRedirect.php b/src/Mcamara/LaravelLocalization/Middleware/LocaleCookieRedirect.php index d043a94..b440e33 100644 --- a/src/Mcamara/LaravelLocalization/Middleware/LocaleCookieRedirect.php +++ b/src/Mcamara/LaravelLocalization/Middleware/LocaleCookieRedirect.php @@ -48,11 +48,7 @@ public function handle($request, Closure $next) $locale = app('laravellocalization')->getCurrentLocale(); } - if ( - $locale && - app('laravellocalization')->checkLocaleInSupportedLocales($locale) && - !(app('laravellocalization')->isHiddenDefault($locale)) - ) { + if ($this->shouldRedirectToLocalizedUrl($locale)) { $redirection = app('laravellocalization')->getLocalizedURL($locale); $redirectResponse = new RedirectResponse($redirection, 302, ['Vary' => 'Accept-Language']); diff --git a/src/Mcamara/LaravelLocalization/Middleware/LocaleSessionRedirect.php b/src/Mcamara/LaravelLocalization/Middleware/LocaleSessionRedirect.php index 93f9bf7..676d616 100644 --- a/src/Mcamara/LaravelLocalization/Middleware/LocaleSessionRedirect.php +++ b/src/Mcamara/LaravelLocalization/Middleware/LocaleSessionRedirect.php @@ -50,11 +50,7 @@ public function handle($request, Closure $next) $locale = app('laravellocalization')->getCurrentLocale(); } - if ( - $locale && - app('laravellocalization')->checkLocaleInSupportedLocales($locale) && - !(app('laravellocalization')->isHiddenDefault($locale)) - ) { + if ($this->shouldRedirectToLocalizedUrl($locale)) { app('session')->reflash(); $redirection = app('laravellocalization')->getLocalizedURL($locale);