Skip to content

Flask teardown_request vs after_request #432

@orenmazor

Description

@orenmazor

I was reading through the code and this bit jumped out at me:

https://github.com/ponyorm/pony/blob/orm/pony/flask/__init__.py#L24

The flask documentation says that a teardown_request hook can be called even when no requests have been processed(http://flask.pocoo.org/docs/1.0/api/#flask.Flask.teardown_request). This means that the pony integration will raise an error, as no db_session has been entered.

I think you should either:

  1. switch this code to use an after_request, or
  2. have the teardown request function not raise an error if a session doesn't exist.

I hit this flow because the Flask test_request_context will call the teardown function in tests even when no requests are called.

thoughts? I can adjust my currently open PR to reproduce this in #431

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions