/** * Handle a request. * * @param SymfonyRequest $request * @param int $type * @param bool $catch * @return Response */ public function handle(SymfonyRequest $request, $type = self::MASTER_REQUEST, $catch = true) { $this->app['request'] = $request = Request::createFromBase($request); $response = $this->app->handle($request); $method = new \ReflectionMethod(get_class($this->app), 'callTerminableMiddleware'); $method->setAccessible(true); $method->invoke($this->app, $response); return $response; }
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 testUsingCustomDispatcher() { $routes = new FastRoute\RouteCollector(new FastRoute\RouteParser\Std(), new FastRoute\DataGenerator\GroupCountBased()); $routes->addRoute('GET', '/', [function () { return response('Hello World'); }]); $app = new Application(); $app->setDispatcher(new FastRoute\Dispatcher\GroupCountBased($routes->getData())); $response = $app->handle(Request::create('/', 'GET')); $this->assertEquals(200, $response->getStatusCode()); $this->assertEquals('Hello World', $response->getContent()); }
public function testRedirectToNamedRoute() { $app = new Application(); $app->get('login', ['as' => 'login', function (Illuminate\Http\Request $request) { return 'login'; }]); $app->get('/', function (Illuminate\Http\Request $request) { return redirect()->route('login'); }); $response = $app->handle(Request::create('/', 'GET')); $this->assertEquals(302, $response->getStatusCode()); }
/** * {@inheritdoc} * * @static */ public static function handle($request, $type = 1, $catch = true) { return \Laravel\Lumen\Application::handle($request, $type, $catch); }
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()); }
public function testNamespacedControllerResponse() { $app = new Application(); require_once __DIR__ . '/fixtures/TestController.php'; $app->group(['namespace' => 'Lumen\\Tests'], function ($app) { $app->get('/', 'TestController@action'); }); $response = $app->handle(Request::create('/', 'GET')); $this->assertEquals(200, $response->getStatusCode()); $this->assertEquals('Lumen\\Tests\\TestController', $response->getContent()); }
/** * Handle a request. * * @param DomRequest $request * @param int $type * @param bool $catch * @return Response */ public function handle(DomRequest $request, $type = self::MASTER_REQUEST, $catch = true) { $request = Request::createFromBase($request); $request->enableHttpMethodParameterOverride(); return $this->app->handle($request); }
public function testRequestUser() { $app = new Application(); $app['auth']->viaRequest('api', function ($request) { return new \Illuminate\Auth\GenericUser(['id' => 1234]); }); $app->get('/', function (Illuminate\Http\Request $request) { return $request->user()->getAuthIdentifier(); }); $response = $app->handle(Request::create('/', 'GET')); $this->assertSame('1234', $response->getContent()); }
/** * Call the given URI and return the Response. * * @param string $method * @param string $uri * @param array $parameters * @param array $cookies * @param array $files * @param array $server * @param string $content * @return \Illuminate\Http\Response */ public function call($method, $uri, $parameters = [], $cookies = [], $files = [], $server = [], $content = null) { $request = Request::create($uri, $method, $parameters, $cookies, $files, $server, $content); return $this->response = $this->app->prepareResponse($this->app->handle($request)); }
public function testValidationHelpers() { $app = new Application(); $app->get('/', function (Illuminate\Http\Request $request) { $this->validate($request, ['name' => 'required']); }); $response = $app->handle(Request::create('/', 'GET')); $this->assertEquals(422, $response->getStatusCode()); }