I've build an api in Laravel 5.3 with jwt web tokens. If I want to test this I've to add this before every request:
if ((\App::environment() == 'testing') && array_key_exists("HTTP_AUTHORIZATION", Request::server())) {
JWTAuth::setRequest(\Route::getCurrentRequest());
}
If I add this to the constructor in my controller it's working. But when I add this to a middleware all my tests are failing.
I've added the middleware to the $routeMiddleware
array in kernel.php
. The middleware looks like this:
class TestingKeepRequest
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if ((\App::environment() == 'testing') && array_key_exists("HTTP_AUTHORIZATION", Request::server())) {
JWTAuth::setRequest(\Route::getCurrentRequest());
dd('test');
}
$next($request);
}
}
When I dd('test');
in the if statement
the dd('test');
is being is being reached.
The middleware is being assigned in my routes file like this:
Route::group(['middleware' => ['testing', 'active', 'throttle']], function () { //etc....
So why is this working in the constructor of a controller but not in a middleware?
Aucun commentaire:
Enregistrer un commentaire