Added a version of takeRequest that takes a timeout.