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]); }
/** * 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(); }