function _chr_curl_request_type_option in cURL HTTP Request 6
Same name and namespace in other branches
- 7 chr.module \_chr_curl_request_type_option()
Convert the string name of the request type to a cURL opt value
Parameters
array $options [reference]: Options array
object $ch [reference]: cURL Object
Return value
boolean Returns FALSE on error.
1 call to _chr_curl_request_type_option()
- chr_curl_http_request in ./
chr.module - Performs an HTTP request.
File
- ./
chr.module, line 405
Code
function _chr_curl_request_type_option(&$options, &$ch) {
$valid_method = FALSE;
switch (drupal_strtoupper($options['method'])) {
case 'DELETE':
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'DELETE');
$valid_method = TRUE;
break;
case 'OPTIONS':
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'OPTIONS');
$valid_method = TRUE;
break;
case 'TRACE':
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'TRACE');
$valid_method = TRUE;
break;
case 'CONNECT':
// @todo
break;
case 'PATCH':
// @todo
break;
case 'POST':
// Assign the data to the proper cURL option
curl_setopt($ch, CURLOPT_POSTFIELDS, $options['data']);
if (isset($options['multipart']) && TRUE === $options['multipart']) {
// Do nothing for now
}
else {
curl_setopt($ch, CURLOPT_POST, TRUE);
}
$valid_method = TRUE;
break;
case 'PUT':
// Assign the data to the proper cURL option
curl_setopt($ch, CURLOPT_POSTFIELDS, $options['data']);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'X-HTTP-Method-Override: PUT',
));
$valid_method = TRUE;
break;
case 'GET':
curl_setopt($ch, CURLOPT_HTTPGET, TRUE);
$valid_method = TRUE;
break;
case 'HEAD':
curl_setopt($ch, CURLOPT_NOBODY, TRUE);
$valid_method = TRUE;
break;
default:
return $valid_method;
}
}