protected function JanrainCaptureApi::call in Janrain Registration 7
Same name and namespace in other branches
- 6 janrain_capture.api.inc \JanrainCaptureApi::call()
- 7.4 includes/janrain_capture.api.inc \JanrainCaptureApi::call()
- 7.2 includes/janrain_capture.api.inc \JanrainCaptureApi::call()
- 7.3 includes/janrain_capture.api.inc \JanrainCaptureApi::call()
Performs the HTTP request.
Parameters
string $command: The Capture command to perform
array $arg_array: The data set to pass via POST
string $access_token: The client access token to use when performing user-specific calls
Return value
mixed The HTTP request result data
3 calls to JanrainCaptureApi::call()
- JanrainCaptureApi::loadUserEntity in ./
janrain_capture.api.inc - Retrives the user entity from Capture
- JanrainCaptureApi::newAccessToken in ./
janrain_capture.api.inc - Perform the exchange to generate a new Access Token
- JanrainCaptureApi::refreshAccessToken in ./
janrain_capture.api.inc - Retrieves a new access_token/refresh_token set
File
- ./
janrain_capture.api.inc, line 46 - An API Client for making calls to the Janrain Capture web service.
Class
- JanrainCaptureApi
- @file An API Client for making calls to the Janrain Capture web service.
Code
protected function call($command, $arg_array = NULL, $access_token = NULL) {
$url = "https://" . $this->captureAddr . "/{$command}";
$headers = array(
'Content-Type' => 'application/x-www-form-urlencoded',
'User-Agent' => 'Drupal',
);
if (isset($access_token)) {
$headers['Authorization'] = "OAuth {$access_token}";
}
$options = array(
'headers' => $headers,
);
if (isset($arg_array)) {
$arg_array = array_merge($arg_array, $this->args);
$options['method'] = 'POST';
$options['data'] = http_build_query($arg_array, '', '&');
}
$result = drupal_http_request($url, $options);
if (!isset($result->data) || $result->code != '200') {
$this
->reportError($result);
return FALSE;
}
$json_data = json_decode($result->data, TRUE);
// NULL decoded value indicates a parse error.
if (!isset($json_data)) {
$json_data['stat'] = 'error';
$json_data['code'] = '0';
$json_data['error'] = 'JSON parse error for: ' . $result->data;
}
if ($json_data['stat'] == 'error') {
$error = new stdClass();
$error->code = $json_data['code'];
$error->error = $json_data['error'];
$this
->reportError($error);
return FALSE;
}
return $json_data;
}