GitHub - browserify/http-browserify: node's http module, but for the browser (original) (raw)
http-browserify
Thehttp module from node.js, but for browsers.
When you require('http')
inbrowserify, this module will be loaded.
example
var http = require('http');
http.get({ path : '/beep' }, function (res) {
var div = document.getElementById('result');
div.innerHTML += 'GET /beep
';
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 verbopts.path
- path string, example:'/foo/bar?baz=555'
opts.headers={}
- as an object mapping key names to string or Array valuesopts.host=window.location.host
- http hostopts.port=window.location.port
- http portopts.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); req.end();
request methods
req.setHeader(key, value)
Set an http header.
req.getHeader(key)
Get an http header.
req.removeHeader(key)
Remove an http header.
req.write(data)
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.
req.end(data)
Close and send the request body, optionally with additional data
to append.
response methods
res.getHeader(key)
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
compatibility
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 ofmultipart/octet-stream
or similar.
protip
You can do:
var bundle = browserify({ require : { http : 'http-browserify' } });
in order to map "http-browserify" over require('http')
in your browserified source.
install
With npm do:
npm install http-browserify
license
MIT