- }/*}}}*/
-
- /**
- * util function for turning the Authorization: header into
- * parameters, has to do some unescaping
- */
- private static function split_header($header) {/*{{{*/
- $pattern = '/(([-_a-z]*)=("([^"]*)"|([^,]*)),?)/';
- $offset = 0;
- $params = array();
- while (preg_match($pattern, $header, $matches, PREG_OFFSET_CAPTURE, $offset) > 0) {
- $match = $matches[0];
- $header_name = $matches[2][0];
- $header_content = (isset($matches[5])) ? $matches[5][0] : $matches[4][0];
- $params[$header_name] = OAuthUtil::urldecode_rfc3986( $header_content );
- $offset = $match[1] + strlen($match[0]);
- }
-
- if (isset($params['realm'])) {
- unset($params['realm']);
- }
-
- return $params;
- }/*}}}*/
-
- /**
- * helper to try to sort out headers for people who aren't running apache
- */
- private static function get_headers() {/*{{{*/
- if (function_exists('apache_request_headers')) {
- // we need this to get the actual Authorization: header
- // because apache tends to tell us it doesn't exist
- return apache_request_headers();
- }
- // otherwise we don't have apache and are just going to have to hope
- // that $_SERVER actually contains what we need
- $out = array();
- foreach ($_SERVER as $key => $value) {
- if (substr($key, 0, 5) == "HTTP_") {
- // this is chaos, basically it is just there to capitalize the first
- // letter of every word that is not an initial HTTP and strip HTTP
- // code from przemek
- $key = str_replace(" ", "-", ucwords(strtolower(str_replace("_", " ", substr($key, 5)))));
- $out[$key] = $value;
- }
- }
- return $out;
- }/*}}}*/
-}/*}}}*/