> retry middleware body is not a Faraday::CompositeReadIO, body is hash

You're right, that does make it more complicated. I'll have to think about this