I believe at the moment it's only possibly to either specify a per operation timeout or a global timeout. Would be good if it were possible to combine both timeouts, e.g.
HTTP.timeout(global: 60, connect: 5, write: 2, read: 10).get 'http://example.com'
This is needed to handle servers that send unending responses or that send out data very slowly.