Supports timeout and context in httpRequest