Keep reference to the request until after the transaction is finished #879
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Would appreciate some constructive feedback, learning Symfony on the fly here.
My first attempt was a static variable on the RequestFetcher class which is less optimal because it's static it could be kept around longer then needed or have some conflicting state.
So I refactored this to the current RequestFetcher instance obtained from the container and place the current request as an instance variable on here.
If there is a "better" way that achieves the same all ears!
The reason we need to do this is because when we are finishing the transaction in the kernel's terminate event the RequestStack is already emptied and we thus no longer can resolve the current request and the RequestFetcher will thus fail to fetch the request. To work around this we set the current request on the RequestFetcher ourselfs when we start tracing and keep it around until after we finish the transaction.
Fixes #818