Esempio n. 1
0
 /**
  * Tests the `accept_quality` method parses the quality values
  * correctly out of header parts
  * 
  * @dataProvider provider_accept_quality
  *
  * @param   array  $parts     input
  * @param   array  $expected  expected output
  * @return  void
  */
 public function test_accept_quality(array $parts, array $expected)
 {
     $out = HTTP_Header::accept_quality($parts);
     foreach ($out as $key => $value) {
         $this->assertInternalType('float', $value);
     }
     $this->assertSame($expected, $out);
 }
Esempio n. 2
0
 public static function parse_language_header($language = NULL)
 {
     if ($language === NULL) {
         return array('*' => array('*' => (double) HTTP_Header::DEFAULT_QUALITY));
     }
     $language = HTTP_Header::accept_quality(explode(',', (string) $language));
     $parsed_language = array();
     $keys = array_keys($language);
     foreach ($keys as $key) {
         // Extract the parts
         $parts = explode('-', $key, 2);
         // Invalid content type- bail
         if (!isset($parts[1])) {
             $parsed_language[$parts[0]]['*'] = $language[$key];
         } else {
             // Set the parsed output
             $parsed_language[$parts[0]][$parts[1]] = $language[$key];
         }
     }
     return $parsed_language;
 }