/**
  * @description call template file
  */
 public function call()
 {
     if ($this->response->getStatusCode() == 202) {
         $this->setContentType($this->route->getTarget('extension'));
     }
     if (isset($this->route->getTarget('callback')[$this->route->getTarget('extension')])) {
         $this->response->setContent(call_user_func_array($this->route->getTarget('callback')[$this->route->getTarget('extension')], [$this->route]));
     } else {
         ob_start();
         if (isset($this->route->getTarget()['data'])) {
             extract($this->route->getTarget('data'));
         }
         if (isset($this->route->getParams()['data'])) {
             extract($this->route->getParams()['data']);
         }
         require $this->route->getTarget('template');
         $this->response->setContent(ob_get_clean());
     }
 }