/** * attempt to build up a request from what was passed to the server */ public static function from_request($http_method = NULL, $http_url = NULL, $parameters = NULL) { $scheme = !isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] != "on" ? 'http' : 'https'; @$http_url or $http_url = $scheme . '://' . $_SERVER['HTTP_HOST'] . ':' . $_SERVER['SERVER_PORT'] . $_SERVER['REQUEST_URI']; @$http_method or $http_method = $_SERVER['REQUEST_METHOD']; // We weren't handed any parameters, so let's find the ones relevant to // this request. // If you run XML-RPC or similar you should use this to provide your own // parsed parameter-list if (!$parameters) { // Find request headers $request_headers = RopOAuthUtil::get_headers(); // Parse the query-string to find GET parameters $parameters = RopOAuthUtil::parse_parameters($_SERVER['QUERY_STRING']); // It's a POST request of the proper content-type, so parse POST // parameters and add those overriding any duplicates from GET if ($http_method == "POST" && @strstr($request_headers["Content-Type"], "application/x-www-form-urlencoded")) { $post_data = RopOAuthUtil::parse_parameters(file_get_contents(self::$POST_INPUT)); $parameters = array_merge($parameters, $post_data); } // We have a Authorization-header with OAuth data. Parse the header // and add those overriding any duplicates from GET or POST if (@substr($request_headers['Authorization'], 0, 6) == "OAuth ") { $header_parameters = RopOAuthUtil::split_header($request_headers['Authorization']); $parameters = array_merge($parameters, $header_parameters); } } return new RopOAuthRequest($http_method, $http_url, $parameters); }
/** * Get the token from the request * * @return array * @author Justin Palmer **/ private function getToken($request) { $token = RopOAuthUtil::parse_parameters($request); if (isset($token['oauth_token'], $token['oauth_token_secret'])) { $this->token = new RopOAuthConsumer($token['oauth_token'], $token['oauth_token_secret']); } return $token; }