protected function RESTServer::parseContentHeader in Services 7.3
Same name and namespace in other branches
- 6.3 servers/rest_server/includes/RESTServer.inc \RESTServer::parseContentHeader()
Extract value of the header string.
Parameters
string $value:
Return value
array $type Value that is used $type['value']
1 call to RESTServer::parseContentHeader()
- RESTServer::parseRequestBody in servers/
rest_server/ includes/ RESTServer.inc - Parse request body based on $_SERVER['CONTENT_TYPE'].s
File
- servers/
rest_server/ includes/ RESTServer.inc, line 420 - Class for handling REST calls.
Class
- RESTServer
- @file Class for handling REST calls.
Code
protected function parseContentHeader($value) {
$ret_val = array();
$value_pattern = '/^([^;]+)(;\\s*(.+)\\s*)?$/';
$param_pattern = '/([a-z]+)=(([^\\"][^;]+)|(\\"(\\\\"|[^"])+\\"))/';
$vm = array();
if (preg_match($value_pattern, $value, $vm)) {
$ret_val['value'] = $vm[1];
if (count($vm) > 2) {
$pm = array();
if (preg_match_all($param_pattern, $vm[3], $pm)) {
$pcount = count($pm[0]);
for ($i = 0; $i < $pcount; $i++) {
$value = $pm[2][$i];
if (drupal_substr($value, 0, 1) == '"') {
$value = stripcslashes(drupal_substr($value, 1, mb_strlen($value) - 2));
}
$ret_val['param'][$pm[1][$i]] = $value;
}
}
}
}
return $ret_val;
}