-
-
Notifications
You must be signed in to change notification settings - Fork 20.1k
Description
Hello everybody,
I'm using Express 4.17.1 and I ran into a problem where req.params
is undefined in an onFinished
call back that I recently added for error logging.
I have a middleware which listens to onFinished
and inspects the req.params
for error logging.
I also use res.format
to choose between two different supported Accept:
headers, but I don't specify a default since the documentation says it will return a 406 if unhandled, which is what I want. I have a test that ensures that my server returns a 406 according to the documentation.
My 406 test fails because req.params
is undefined so I can't navigate further into the object. When I was trying to sort that out I added a "default"
handler to res.format
and then the req.params
object was valid and parsed correctly.
Additionally, I discovered that req.params
is parsed properly when in my controller (before the call to res.format
), but the version of the req.params
that is passed into onFinished
later in that same request is undefined.
Is the the expected behavior? The documentation and behavior makes me think this is unexpected.
I can provide more information if needed
Thanks