Use Flask.before_request instead of Flask.before_first_request to work around the re-entry deadlock introduced in Flask 0.11 #184
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.
Fixes #182.
Flask changed its behavior in 0.11 by making
before_first_request
deadlock if the handler causes another request before finishing. The_before_request
hook is still re-entrant, so this can be fixed without changing much code.Note that Flask's change in behavior addresses some real problems. So a larger, more proper fix later on could be to change
Grip._retrieve_styles
(or more specifically,Grip._get_styles
) to access the cached files directly instead of using a request to do so.