Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including @nao20010128nao/void-http with all npm packages installed. Try it out:

var voidHttp = require("@nao20010128nao/void-http")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

@nao20010128nao/void-http v1.7.0

http module compatability for browserify


The http module from node.js, but for browsers.

When you require('http') in browserify, this module will be loaded.


var http = require('http');

http.get({ path : '/beep' }, function (res) {
    var div = document.getElementById('result');
    div.innerHTML += 'GET /beep<br>';
    res.on('data', function (buf) {
        div.innerHTML += buf;
    res.on('end', function () {
        div.innerHTML += '<br>__END__';

http methods

var http = require('http');

var req = http.request(opts, cb)

where opts are:

  • opts.method='GET' - http method verb
  • opts.path - path string, example: '/foo/bar?baz=555'
  • opts.headers={} - as an object mapping key names to string or Array values
  • - http host
  • opts.port=window.location.port - http port
  • opts.responseType - response type to set on the underlying xhr object

The callback will be called with the response object.

var req = http.get(options, cb)

A shortcut for

options.method = 'GET';
var req = http.request(options, cb);

request methods

req.setHeader(key, value)

Set an http header.


Get an http header.


Remove an http header.


Write some data to the request body.

If only 1 piece of data is written, data can be a FormData, Blob, or ArrayBuffer instance. Otherwise, data should be a string or a buffer.


Close and send the request body, optionally with additional data to append.

response methods


Return an http header, if set. key is case-insensitive.

response attributes

  • res.statusCode, the numeric http response code
  • res.headers, an object with all lowercase keys


This module has been tested and works with:

  • Internet Explorer 5.5, 6, 7, 8, 9
  • Firefox 3.5
  • Chrome 7.0
  • Opera 10.6
  • Safari 5.0

Multipart streaming responses are buffered in all versions of Internet Explorer and are somewhat buffered in Opera. In all the other browsers you get a nice unbuffered stream of "data" events when you send down a content-type of multipart/octet-stream or similar.


You can do:

var bundle = browserify({
    require : { http : 'http-browserify' }

in order to map "http-browserify" over require('http') in your browserified source.


With npm do:

npm install http-browserify




RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free