public static function RESTServer::parseContentHeader in Services 6.3
Same name and namespace in other branches
- 7.3 servers/rest_server/includes/RESTServer.inc \RESTServer::parseContentHeader()
2 calls to RESTServer::parseContentHeader()
- RESTServer::fileRecieve in servers/
rest_server/ includes/ RESTServer.inc - RESTServer::parseRequest in servers/
rest_server/ includes/ RESTServer.inc
File
- servers/
rest_server/ includes/ RESTServer.inc, line 297 - Class for handling REST calls.
Class
- RESTServer
- @file Class for handling REST calls.
Code
public static 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;
}