fix(wsgi): WSGI integrations respect SCRIPT_NAME env variable
URLs generated using Sentry's WSGI Middleware should include SCRIPT_NAME in the event's url
Fixes https://github.com/getsentry/sentry-python/issues/2576
Noticed that the problem described in the above issue wasn't specific to Django per se but general to all WSGI applications which is why I have made modifications to the SentryWsgiMiddleware class that should resolve this issue for Django and other integrations as well. As far as I can tell this problem should not arise for ASGI applications as the root_path is accounted for.
General Notes
Thank you for contributing to sentry-python!
Please add tests to validate your changes, and lint your code using tox -e linters.
Running the test suite on your PR might require maintainer approval. Some tests (AWS Lambda) additionally require a maintainer to add a special label to run and will fail if the label is not present.
For maintainers
Sensitive test suites require maintainer review to ensure that tests do not compromise our secrets. This review must be repeated after any code revisions.
Before running sensitive test suites, please carefully check the PR. Then, apply the Trigger: tests using secrets label. The label will be removed after any code changes to enforce our policy requiring maintainers to review all code revisions before running sensitive tests.
Hey, its my first contribution. It seems as if we need to add a label to this PR for any of the checks to execute, could any of the collaborators add the same?
Hey, its my first contribution. It seems as if we need to add a label to this PR for any of the checks to execute, could any of the collaborators add the same?
I have approved most of the tests to run. For now, the AWS permissions check will still fail – we will add the necessary label once we have reviewed and approved the change
Also, please address the linter and test failures (except the AWS Lambda tests – you can ignore these for now); we can only merge the changes once all these tests pass
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:
Project coverage is 79.27%. Comparing base (
c210ad6) to head (6f07450).
Additional details and impacted files
@@ Coverage Diff @@
## master #2622 +/- ##
==========================================
- Coverage 79.33% 79.27% -0.06%
==========================================
Files 132 132
Lines 14218 14218
Branches 2985 2985
==========================================
- Hits 11280 11272 -8
- Misses 2093 2106 +13
+ Partials 845 840 -5
| Files | Coverage Δ | |
|---|---|---|
| sentry_sdk/integrations/wsgi.py | 83.21% <ø> (ø) |