public function testGroupRouteMiddleware()
 {
     $app = new Application();
     $app->routeMiddleware(['foo' => 'LumenTestMiddleware']);
     $app->group(['middleware' => 'foo'], function ($app) {
         $app->get('/', function () {
             return response('Hello World');
         });
     });
     $app->get('/foo', function () {
         return response('Hello World');
     });
     $response = $app->handle(Request::create('/', 'GET'));
     $this->assertEquals(200, $response->getStatusCode());
     $this->assertEquals('Middleware', $response->getContent());
     $response = $app->handle(Request::create('/foo', 'GET'));
     $this->assertEquals(200, $response->getStatusCode());
     $this->assertEquals('Hello World', $response->getContent());
 }
 public function testMiddlewareReceiveResponsesEvenWhenStringReturned()
 {
     unset($_SERVER['__middleware.response']);
     $app = new Application();
     $app->routeMiddleware(['foo' => 'LumenTestPlainMiddleware']);
     $app->get('/', ['middleware' => 'foo', function () {
         return 'Hello World';
     }]);
     $response = $app->handle(Request::create('/', 'GET'));
     $this->assertEquals(200, $response->getStatusCode());
     $this->assertEquals('Hello World', $response->getContent());
     $this->assertEquals(true, $_SERVER['__middleware.response']);
 }
 public function testBasicControllerDispatchingWithMiddlewareIntercept()
 {
     $app = new Application();
     $app->routeMiddleware(['test' => LumenTestMiddleware::class]);
     $app->get('/show/{id}', 'LumenTestControllerWithMiddleware@show');
     $response = $app->handle(Request::create('/show/25', 'GET'));
     $this->assertEquals(200, $response->getStatusCode());
     $this->assertEquals('Middleware', $response->getContent());
 }
 /**
  * Define the route middleware for the application.
  *
  * @param array $middleware
  * @return $this 
  * @static 
  */
 public static function routeMiddleware($middleware)
 {
     return \Laravel\Lumen\Application::routeMiddleware($middleware);
 }
Example #5
0
 public function getAdapterInstance()
 {
     $app = new Application();
     $app->routeMiddleware(['api.auth' => get_class($this->container['api.auth']), 'api.limiting' => get_class($this->container['api.limiting'])]);
     return new Lumen($app, new StdRouteParser(), new GcbDataGenerator(), GcbDispatcher::class);
 }