Issue #23: add core/http.js