yuval9313 / FastApi-RESTful

Quicker way to develop FastApi
MIT License
180 stars 25 forks source link

[BUG] Risk of data loss #171

Open skion opened 1 year ago

skion commented 1 year ago

Describe the bug

FastApi-RESTful appears to commit-after-yield in a FastAPI dependency, which most likely creates risk of data loss since when a commit raises an exception a positive HTTP response has already been returned to the user.

To Reproduce Steps to reproduce the behavior:

  1. Raise an exception after the yield.
  2. Observe the HTTP response is not affected

Expected behavior

When a database transaction cannot be committed, a positive HTTP response should never be sent.

Environment:

Additional context

yuval9313 commented 1 year ago

I will check upon this issue, can you address the file or add a small snippet that would not require active DB to execute?

yuval9313 commented 1 year ago

It was made to allow "auto commits" to be performed, any ideas on how to treat this otherwise properly? I don't want to break the way it is being used currently But I figure there is no other choice.

Do you still use the middleware method? how would u suggest it being implemented into this lib?