Skip to content

Commit b4af2b5

Browse files
author
一庭霜月
authored
fix:Middleware terminate() not being called
fix:Middleware terminate() not being called
1 parent 8beb74d commit b4af2b5

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

src/Routing/Adapter/Lumen.php

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -225,9 +225,17 @@ protected function removeMiddlewareFromApp()
225225
$reflection = new ReflectionClass($this->app);
226226
$property = $reflection->getProperty('middleware');
227227
$property->setAccessible(true);
228+
229+
$oldMiddlewares = $property->getValue($this->app);
230+
$newMiddlewares = [];
231+
foreach($oldMiddlewares as $middle){
232+
if( (new ReflectionClass($middle))->hasMethod('terminate') && $middle!='Dingo\Api\Http\Middleware\Request' ){
233+
$newMiddlewares = array_merge($newMiddlewares,[$middle]);
234+
}
235+
}
228236

229-
$property->setValue($this->app, []);
230-
237+
$property->setValue($this->app,$newMiddlewares);
238+
231239
$property->setAccessible(false);
232240
}
233241

0 commit comments

Comments
 (0)