/** * @param Application $app * @param Closure[] $routes */ public static function apply(Application $app, array $routes) { foreach ($routes as $pattern => $handler) { list($method, $pattern) = array_values(array_filter(explode(' ', $pattern))); $pattern = preg_replace('/@([\\w]+)/', '{$1}', $pattern); switch ($method) { case 'GET': $app->get($pattern, $handler); break; case 'POST': $app->post($pattern, $handler); break; case 'PUT': $app->put($pattern, $handler); break; case 'DELETE': $app->delete($pattern, $handler); break; case 'PATCH': $app->patch($pattern, $handler); break; } } }
public function testMethodNotAllowedResponse() { $app = new Application(); $app->instance('Illuminate\\Contracts\\Debug\\ExceptionHandler', $mock = m::mock('Laravel\\Lumen\\Exceptions\\Handler[report]')); $mock->shouldIgnoreMissing(); $app->post('/', function () { return response('Hello World'); }); $response = $app->handle(Request::create('/', 'GET')); $this->assertEquals(405, $response->getStatusCode()); }
protected function store($pathRoot, $controller, $routeNamePrefix) { $path = $pathRoot . $this->methodPathBind['store']; $this->app->post($path, $this->getAction($routeNamePrefix, $controller, 'store')); }
/** * Register a route with the application. * * @param string $uri * @param mixed $action * @return $this * @static */ public static function post($uri, $action) { return \Laravel\Lumen\Application::post($uri, $action); }