/**
  * process API Request
  *
  * @param Akita_OAuth2_Server_DataHandler $dataHandler
  */
 public function processRequest($dataHandler)
 {
     $request = $dataHandler->getRequest();
     $param_access_token = $request->getAccessToken();
     if (empty($param_access_token)) {
         throw new Akita_OAuth2_Server_Error('400', 'invalid_request', "'access_token' is required");
     }
     $accessToken = $dataHandler->getAccessToken($param_access_token);
     if (is_null($accessToken)) {
         throw new Akita_OAuth2_Server_Error('401', 'invalid_token');
     }
     $authInfo = $dataHandler->getAuthInfoById($accessToken->authId);
     if (is_null($authInfo)) {
         throw new Akita_OAuth2_Server_Error('500', 'server_error');
     }
     return $authInfo;
 }