Add easy "debug-on-exception" debugger middleware functionality (and remote debugging) #11493
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.
Intent:
Quicker to replicate issues, less cycles to fix
Easy remote/ docker-ized debugging
Additionally having a debugger right in the browser can make the "ergonomics" of this cycle less cumbersome.
This PR attempts to achieve the above by providing an easy way to add debug-on-exception feature to Fastapi along side with some sensible default debugger options.
Overview:
Adds middleware class to allow intercepting exceptions in endpoints and starting a debugger in those stack frames
Debugger is customizable by passing in a custom callable that can run debugger of choice
Default debugger if not customized is PDB
Adds support to use web-PDB by including pre made callable that can be passed in as a middleware arg