Implement Request Timeouts.

The implementation was kindly provided by Jeevan Kumar Jagadesh.