I'm trying to make a handler that manages a request scoped sql transaction. Ideally it would be a middleware handler that opens the connection and starts the transaction and after the chain of handlers is finished it will commit the transaction. The issue I am facing is the browser can receive the data before the transaction is committed since the data is sent further down the chain.

Is there some type of hook where I can commit / close the transaction before any data is sent? This should work fine in a blocking handler but an asynchronous one may have issues?

My other thought is to make a Handler that expects some object to be returned. In this handler commit / close the connection as soon as the object is returned then send the data to the browser after. Would this be my best option?