You are here

private function RESTServer::requestParser in Services 6.3

Get best match parser for $controller based on $mime type.

1 call to RESTServer::requestParser()
RESTServer::parseRequest in servers/rest_server/includes/RESTServer.inc

File

servers/rest_server/includes/RESTServer.inc, line 408
Class for handling REST calls.

Class

RESTServer
@file Class for handling REST calls.

Code

private function requestParser($mime, $controller = NULL) {

  // Check if the controller has declared support for parsing the mime type.
  if ($controller && !empty($controller['rest request parsers'])) {
    $parser = $this
      ->matchParser($mime, $controller['rest request parsers']);
    if ($parser) {
      return $parser;
    }
  }
  $parsers = rest_server_request_parsers();

  // Remove parsers that have been disabled for this endpoint.
  foreach (array_keys($parsers) as $key) {
    if (!$this->settings['parsers'][$key]) {
      unset($parsers[$key]);
    }
  }
  return $this
    ->matchParser($mime, $parsers);
}