/** * @param HttpRequestA $oRequest * @return \vsc\domain\models\ModelA * @throws \vsc\presentation\responses\ExceptionResponseError */ public function handleRequest(HttpRequestA $oRequest) { if (!$oRequest->isGet() && !RawHttpRequest::isValid($oRequest)) { $oRequest = new RawHttpRequest(); vsc::getEnv()->setHttpRequest($oRequest); } switch ($oRequest->getHttpMethod()) { case HttpRequestTypes::GET: $oModel = $this->handleGet($oRequest); break; case HttpRequestTypes::HEAD: $oModel = $this->handleHead($oRequest); break; case HttpRequestTypes::POST: $oModel = $this->handlePost($oRequest); break; case HttpRequestTypes::PUT: $oModel = $this->handlePut($oRequest); break; case HttpRequestTypes::DELETE: $oModel = $this->handleDelete($oRequest); break; default: throw new ExceptionResponseError('Method [' . $oRequest->getHttpMethod() . '] is unavailable.', HttpResponseType::METHOD_NOT_ALLOWED); } return $oModel; }
/** * @param \vsc\presentation\requests\HttpRequestA $oRequest */ public function __construct($oRequest = null) { /* @var RawHttpRequest $oRequest */ if (!RawHttpRequest::isValid($oRequest)) { $oRequest = new RawHttpRequest(); vsc::getEnv()->setHttpRequest($oRequest); } $this->id = $oRequest->getVar('id'); $this->method = $oRequest->getVar('method'); $this->params = $oRequest->getVar('params'); }