File tree Expand file tree Collapse file tree 2 files changed +39
-2
lines changed
Expand file tree Collapse file tree 2 files changed +39
-2
lines changed Original file line number Diff line number Diff line change @@ -132,8 +132,10 @@ export class PreCompiler {
132132 throw error
133133 }
134134
135- resolvedMiddleware . args = args
136- return resolvedMiddleware
135+ return {
136+ ...resolvedMiddleware ,
137+ args,
138+ }
137139 } )
138140 }
139141
Original file line number Diff line number Diff line change @@ -504,6 +504,41 @@ test.group('Server | middleware', (group) => {
504504 assert . isDefined ( hookPacket ! . parent_id )
505505 assert . equal ( hookPacket ! . parent_id , requestPacket ! . id )
506506 } )
507+
508+ test ( 'use same middleware twice with different args' , async ( { assert } ) => {
509+ const stack : string [ ] = [ ]
510+
511+ const app = await setupApp ( )
512+ const server = new Server ( app , encryption , serverConfig )
513+
514+ const httpServer = createServer ( server . handle . bind ( server ) )
515+
516+ server . middleware . registerNamed ( {
517+ access : async function middlewareFn1 ( ) {
518+ return {
519+ default : class Middleware {
520+ public async handle ( _ctx : HttpContextContract , next : any , args : string [ ] ) {
521+ stack . push ( args [ 0 ] )
522+ await next ( )
523+ }
524+ } ,
525+ }
526+ } ,
527+ } )
528+
529+ server . router
530+ . get ( '/' , async ( ) => {
531+ return 'done'
532+ } )
533+ . middleware ( 'access:client' )
534+ . middleware ( 'access:site' )
535+
536+ server . optimize ( )
537+
538+ const { text } = await supertest ( httpServer ) . get ( '/' ) . expect ( 200 )
539+ assert . deepEqual ( stack , [ 'client' , 'site' ] )
540+ assert . equal ( text , 'done' )
541+ } )
507542} )
508543
509544test . group ( 'Server | hooks' , ( group ) => {
You can’t perform that action at this time.
0 commit comments