Beispiel #1
0
 public function postExecute(Request $req, Response $res)
 {
     if (!preg_match($this->_regex, $req->path(), $path)) {
         return;
     }
     if ($this->_executable instanceof Executable) {
         $this->_executable->postExecute($req, $res);
     }
 }
Beispiel #2
0
 public function execute(\Coast\Request $req, \Coast\Response $res)
 {
     $route = $this->match($req->method(), $req->path());
     if (!$route) {
         return;
     }
     $req->params(array_merge(['route' => $route], $route['params']));
     if (isset($route['target'])) {
         return $route['target']($req, $res, $this->app);
     } else {
         if (isset($this->_target)) {
             return $this->_target->route($req, $res);
         } else {
             throw new Router\Exception("There's nothing to route '{$route['name']}' to");
         }
     }
 }
Beispiel #3
0
 public function execute(\Coast\Request $req, \Coast\Response $res)
 {
     $path = $req->path();
     $path = '/' . (strlen($path) ? $path : 'index');
     $files = $this->files($this->script($path));
     if (!count($files)) {
         return;
     }
     return $res->html($this->render($path, ['req' => $req, 'res' => $res]));
 }
Beispiel #4
0
 public function execute(Request $req, Response $res)
 {
     $parts = explode('/', $req->path());
     if ($parts[0] != 'image') {
         return;
     }
     $file = new File("{$this->_baseDir}/{$req->file}");
     $file = $file->toReal();
     if (!$file->isWithin($this->_baseDir)) {
         throw new Image\Exception("File '{$file}' is not within base directory '{$this->_baseDir}'");
     } else {
         if (!$file->isReadable()) {
             throw new Image\Exception("File '{$file}' is not readable");
         }
     }
     $transforms = $req->transforms;
     $params = isset($req->params) ? $req->params : [];
     $output = $this->_generateOutput($file, $transforms, $params);
     $image = $this->_manager->make($file->name());
     foreach ($transforms as $name) {
         $this->run($name, $image, $params);
     }
     $image->save($output->name(), isset($image->quality) ? $image->quality : 90);
     return $res->redirect(isset($this->_outputUrlResolver) ? $this->_outputUrlResolver->file($output) : $this->_urlResolver->file($output));
 }