Per our discussion yesterday, a suggested redesign of the middleware interface is for it to be something like (sorry if I don't know the proper format for specifying these things):
cancelf = app.call(request_env) { |response_hash, response_error|
...
}
# where `cancelf` is a method that can be called to cancel the request down the stack.



Per our discussion yesterday, a suggested redesign of the middleware interface is for it to be something like (sorry if I don't know the proper format for specifying these things):