public function testNegotiatedLanguages()
 {
     $language = new Language($this->supported_languages, $this->default_language, $this->chrome_accept_language);
     $result = $language->getNegotiatedLangauges();
     $this->assertInternalType('array', $result);
     $this->assertCount(2, $result);
     $this->assertCount(2, $result[0]);
     $this->assertEquals('de', $result[0][0]);
     $this->assertEquals(0.8, $result[0][1]);
     $this->assertCount(2, $result[1]);
     $this->assertEquals('en', $result[1][0]);
     $this->assertEquals(0.4, $result[1][1]);
 }
Beispiel #2
0
 /**
  * Makes sure that a "Content-Language" header is sent if not already sent (i.e. from the RestServer client code)
  *
  * @param Language $language Language object
  */
 protected function automaticContentLanguageHeaderDispatch(Language $language)
 {
     $headers_sent = headers_list();
     $content_language_header_sent = false;
     foreach ($headers_sent as $header) {
         $header_components = explode(': ', $header);
         $header_name = $header_components[0];
         if (strcasecmp($header_name, 'content-language') == 0) {
             $content_language_header_sent = true;
         }
     }
     if ($content_language_header_sent === false) {
         $this->header_manager->addHeader('Content-Language', $language->getPreferedLanguage());
     }
 }
 /**
  * @url GET /method_with_language_object_and_data
  *
  * @param Language $language Language object
  * @param string $data Request body data
  * @return array input parameter echoed
  */
 public function methodWithLanguageObjectAndData(Language $language, $data = null)
 {
     return $language->getPreferedLanguage();
 }