Rack::Request#body is a StringIO and should be reuseable

This is a little opinionated. I haven't run or written tests, feel free to look at the changes and then implement yourself.