Do HTTP requests always time out if there's a problem (either due to something in HTTP itself or something in node's request handling)? Trying to figure out if there's some case we could get into where the callback is never called, and so we'd need to put in an explicit timeout.