Example #1
0
 /**
  * Run the server with a query, which may includes multiple requests
  *
  * @param Query $query The input query object
  * @return Result the output result object
  */
 public function run($query)
 {
     $result = new Result();
     $result->responses = array();
     foreach ($query->requests as $request) {
         try {
             $handler = explode('.', $request->handler);
             if (!isset($this->_services[$handler[0]])) {
                 throw new ServerException("Service {$handler['0']} is not registered");
             }
             $response = call_user_func(array($this->_services[$handler[0]], $handler[1]), $request->params, $query->authToken);
             $result->responses[$request->id] = Response::successResponse($response);
         } catch (ServerException $e) {
             $result->responses[$request->id] = Response::failResponse($e->getMessage());
         }
     }
     return $result;
 }
Example #2
0
 public static function errorResponse($status, $message, $code = 'unknown')
 {
     Response::addRel('reference', Util::URL('/docs', null));
     Response::successResponse(array('error' => $code), $status, $message);
 }