} static function getHeaderValue($headers, $name) { if ($headers != NULL && array_key_exists($name, $headers)) { if (is_array($headers[$name])) { return $headers[$name][0]; } else { return $headers[$name]; } } return ""; } static function getExpires($uri) { $query = parse_url($uri, PHP_URL_QUERY); if ($query != NULL and !empty($query)) { $params = array(); parse_str($query, $params); if (array_key_exists(Common::EXPIRES, $params)) { return intval($params[Common::EXPIRES]); } } return 0; } static function stringStartsWith($haystack, $needle) { return $needle == "" || strpos($haystack, $needle) === 0; } } Signer::$s_sub_resources = SubResource::getAllSubresources();