public function testAddRouteMultipleMethodRequest() { $app = new Application(); $app->addRoute(['GET', 'POST'], '/', function () { return response('Hello World'); }); $response = $app->handle(Request::create('/', 'GET')); $this->assertEquals(200, $response->getStatusCode()); $this->assertEquals('Hello World', $response->getContent()); $response = $app->handle(Request::create('/', 'POST')); $this->assertEquals(200, $response->getStatusCode()); $this->assertEquals('Hello World', $response->getContent()); }
/** * Add a route to the collection. * * @param string $method * @param string $uri * @param mixed $action * @static */ public static function addRoute($method, $uri, $action) { return \Laravel\Lumen\Application::addRoute($method, $uri, $action); }
/** * @param \Laravel\Lumen\Application $app */ private function _buildRouteRules(Application $app) { foreach ($this->_rules as $class => $regexpUri) { $isPublicClass = $class['0'] == '@'; $class = $this->_baseNamespace ? sprintf('%s.%s', $this->_baseNamespace, $class) : $class; $class = str_replace(['.', '@'], ['\\', ''], $class); $action = sprintf('%s@handle', $class); $uris = $this->_parseUri($regexpUri); foreach (static::$accessableMethods as $method) { foreach ($uris as $uri) { if ($isPublicClass && $this->_useAuth) { Middleware\AuthMiddleware::addPublicResource($class); } $app->addRoute($method, $uri, $action); } } } }