Flarum\Http\Middleware\SetLocale::__invoke PHP Method

__invoke() public method

public __invoke ( Psr\Http\Message\ServerRequestInterface $request, Psr\Http\Message\ResponseInterface $response, callable $out = null )
$request Psr\Http\Message\ServerRequestInterface
$response Psr\Http\Message\ResponseInterface
$out callable
    public function __invoke(Request $request, Response $response, callable $out = null)
    {
        $actor = $request->getAttribute('actor');
        if ($actor->exists) {
            $locale = $actor->getPreference('locale');
        } else {
            $locale = array_get($request->getCookieParams(), 'locale');
        }
        if ($locale && $this->locales->hasLocale($locale)) {
            $this->locales->setLocale($locale);
        }
        return $out ? $out($request, $response) : $response;
    }