Ejemplo n.º 1
0
 /**
  * @param \Jamm\HTTP\IResponse $Response
  */
 public function fillResponse(\Jamm\HTTP\IResponse $Response)
 {
     $this->Request = $this->ServiceLocator->getRequest();
     $this->Parser = $this->ServiceLocator->getRequestParser();
     $this->Response = $Response;
     $this->beforeFillingResponse();
     switch ($this->Request->getMethod()) {
         case 'GET':
             return $this->GET();
         case 'POST':
             if (!$this->isCSRFSafe()) {
                 $this->Response->setStatusCode(403);
                 return false;
             }
             return $this->POST();
         case 'PUT':
             if (!$this->isCSRFSafe()) {
                 $this->Response->setStatusCode(403);
                 return false;
             }
             return $this->PUT();
         case 'DELETE':
             if (!$this->isCSRFSafe()) {
                 $this->Response->setStatusCode(403);
                 return false;
             }
             return $this->DELETE();
         case 'PATCH':
             if (!$this->isCSRFSafe()) {
                 $this->Response->setStatusCode(403);
                 return false;
             }
             return $this->PATCH();
         case 'OPTIONS':
             return $this->OPTIONS();
         case 'HEAD':
             return $this->HEAD();
         case 'TRACE':
             return $this->TRACE();
         default:
             $Response->setStatusCode(405);
             // Method not allowed
     }
 }