Abstract HTTP Request for Browsers and Node.js