Implement Request Timeouts.

The functionality was kindly provided by Jeevan Kumar Jagadesh.