Example #1
0
 public function __call($name, $arguments)
 {
     $helper = $this->helpers[$name];
     if ($helper != null) {
         $request = Request::createFromGlobals();
         array_push($arguments, $request);
         return call_user_func_array($helper, $arguments);
     }
 }
Example #2
0
 public function run(Request $request = null, Response $response = null)
 {
     $request = $request == null ? Request::createFromGlobals() : $request;
     $response = $response == null ? new Response() : $response;
     $error = false;
     try {
         $this->router->handle($request, $response);
     } catch (NotFoundException $e) {
         $response->status(404);
         $error = true;
     } catch (MethodNotAllowedException $e) {
         $response->status(405);
         $response->header('Allow: ' . $e->allowedMethods());
         $error = true;
     }
     if ($error && $this->error_callback !== null) {
         $contents = call_user_func($this->error_callback);
         $response->contents($contents);
     }
     $response->send();
 }
Example #3
0
 public function testACompleteResponseShouldStopFurtherRouteExecution()
 {
     $router = new Router();
     $router->before(function (Response $response) {
         $response->send();
     })->after(function () {
         return 'after_router';
     });
     $router->get('/test', function () {
         return 'test';
     });
     $response = new ResponseMock();
     $router->handle(Request::create(false, 'localhost', '/test'), $response);
     $this->assertEquals('', $response->contents());
 }