private function RESTServer::parseRequest in Services 6.3
1 call to RESTServer::parseRequest()
- RESTServer::getControllerArguments in servers/rest_server/includes/RESTServer.inc
- Parses controller arguments from request
File
- servers/rest_server/includes/RESTServer.inc, line 251
- Class for handling REST calls.
Class
- RESTServer
- @file
Class for handling REST calls.
Code
private function parseRequest($method, $controller) {
switch ($method) {
case 'POST':
case 'PUT':
if (isset($_SERVER['CONTENT_TYPE'])) {
$type = self::parseContentHeader($_SERVER['CONTENT_TYPE']);
}
if (isset($type['value'])) {
$mime = $type['value'];
}
else {
$mime = 'application/x-www-form-urlencoded';
}
$parser = $this
->requestParser($mime, $controller);
if (!$parser) {
return services_error(t('Unsupported request content type @mime', array(
'@mime' => $mime,
)), 406);
}
if ($mime == 'multipart/form-data') {
$data = call_user_func($parser);
}
else {
if (module_exists('inputstream')) {
$handle = fopen('drupal://input', 'r');
}
else {
$handle = fopen('php://input', 'r');
}
if ($handle) {
$data = call_user_func($parser, $handle);
fclose($handle);
}
}
return $data;
default:
return array();
}
}