Exemple #1
0
 public function testLocalesWithApiRequestAndAcceptLanguageHeader()
 {
     $request = $this->createRequestMock();
     $request->headers->expects($this->once())->method('get')->with($this->identicalTo('Accept-Language'))->will($this->returnValue($acceptLanguage = 'accept-language'));
     $this->requestStack->expects($this->once())->method('getMasterRequest')->will($this->returnValue($request));
     $this->localeNegotiator->expects($this->once())->method('parse')->with($this->identicalTo('accept-language'))->will($this->returnValue([new AcceptLanguage($locale = 'fr')]));
     $this->parameterResolver->expects($this->once())->method('resolveApi')->will($this->returnValue(true));
     $this->assertSame([$locale], $this->localeContext->getLocales());
 }
Exemple #2
0
 /**
  * @param Request $request
  *
  * @return string[]
  */
 private function parseAcceptLanguage(Request $request)
 {
     $locales = [];
     $acceptLanguage = trim($request->headers->get('Accept-Language'));
     if (!empty($acceptLanguage)) {
         $locales = array_map(function (AcceptLanguage $acceptLanguage) {
             return $acceptLanguage->getType();
         }, $this->localeNegotiator->parse($acceptLanguage));
     }
     return $locales;
 }