Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: cgi.FieldStorage not available in Python 3.13 #1438

Merged
merged 19 commits into from
Sep 5, 2024

Commits on Sep 5, 2024

  1. fix: Replace cgi.FieldStorage

    Standard library cgi.FieldStorage was deprecated in Python 3.11 and removed in 3.13.
    We now have to ship our own multipart form data parser implementation, which is a port
    of the existing 'multipart' module. The new parser is used for all python versions,
    which may break backwards compatibility for certain edge cases and error scenarios.
    For a 'good' request there should be no difference, though.
    
    What changed:
    * Lax newline parsing (accepting \r or \n in place of \r\n) is a security risk and no longer implemented.
      Most modern browsers and client libraries follow the spec and should not have any issues producing valid multipart data.
    * Parsing errors are no longer silently ignored, but trigger an appropiate 400 error.
    defnull committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    c3864de View commit details
    Browse the repository at this point in the history
  2. docs: Documentation overhaul

    defnull committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    9fca684 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f4cc5f9 View commit details
    Browse the repository at this point in the history
  4. test: Remove server tests

    Those are integration tests, not unit tests and lead to flapping test results.
    defnull committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    1bf82df View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    f4b7306 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    9116c7b View commit details
    Browse the repository at this point in the history
  7. test: Fix tests for Python 2

    defnull committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    036627a View commit details
    Browse the repository at this point in the history
  8. docs: Update copyright year

    defnull committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    c4b9e9f View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    0076a22 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    291730e View commit details
    Browse the repository at this point in the history
  11. feat: BaseResponse.expires is now timezone aware (UTC)

    This also prevents warnings for deprecated functions in the datetime module.
    defnull committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    8012a10 View commit details
    Browse the repository at this point in the history
  12. test: Fix exception tests

    defnull committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    d63f177 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    11d4d74 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    7ba4dbb View commit details
    Browse the repository at this point in the history
  15. docs: Removed python version requirement from readme.

    This is better described in more detail in docs/index.rst
    defnull committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    cd1acfc View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    5c26cdb View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    4a92a74 View commit details
    Browse the repository at this point in the history
  18. docs: Typo

    defnull committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    c47d825 View commit details
    Browse the repository at this point in the history
  19. docs: Wording

    defnull committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    bc7e8e0 View commit details
    Browse the repository at this point in the history