<?php namespace JsonApi\Middlewares; use Negotiation\LanguageNegotiator; use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ServerRequestInterface as Request; use Psr\Http\Server\MiddlewareInterface; use Psr\Http\Server\RequestHandlerInterface as RequestHandler; /** * This class defines a middleware that tries to set the language for Stud.IP * by analyzing the HTTP header "Accept-Language". * * @author Jan-Hendrik Willms <tleilax+studip@gmail.com> */ final class Language implements MiddlewareInterface { /** * @param Request $request das Request-Objekt * @param RequestHandler $handler der PSR-15 Request Handler * * @return ResponseInterface das neue Response-Objekt */ public function process(Request $request, RequestHandler $handler): ResponseInterface { $language = $_SESSION['_language'] ?? get_accepted_languages($request); init_i18n($language); $_SESSION['_language'] = $language; return $handler->handle($request); } }