You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
139 lines
2.5 KiB
Markdown
139 lines
2.5 KiB
Markdown
7 years ago
|
http-browserify
|
||
|
===============
|
||
|
|
||
|
The
|
||
|
[http](http://nodejs.org/docs/v0.4.10/api/all.html#hTTP) module from node.js,
|
||
|
but for browsers.
|
||
|
|
||
|
When you `require('http')` in
|
||
|
[browserify](http://github.com/substack/node-browserify),
|
||
|
this module will be loaded.
|
||
|
|
||
|
example
|
||
|
=======
|
||
|
|
||
|
````javascript
|
||
|
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(options, cb)
|
||
|
-----------------------------------
|
||
|
|
||
|
`options` can have:
|
||
|
|
||
|
* method
|
||
|
* path
|
||
|
* headers={}, as an object mapping key names to string or Array values
|
||
|
* host=window.location.host
|
||
|
* port=window.location.port
|
||
|
|
||
|
The callback will be called with the response object.
|
||
|
|
||
|
var req = http.get(options, cb)
|
||
|
-------------------------------
|
||
|
|
||
|
A shortcut for
|
||
|
|
||
|
````javascript
|
||
|
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.
|
||
|
|
||
|
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
|
||
|
|
||
|
response events
|
||
|
---------------
|
||
|
|
||
|
* data
|
||
|
* end
|
||
|
* error
|
||
|
|
||
|
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 of
|
||
|
`multipart/octet-stream` or similar.
|
||
|
|
||
|
protip
|
||
|
======
|
||
|
|
||
|
You can do:
|
||
|
|
||
|
````javascript
|
||
|
var bundle = browserify({
|
||
|
require : { http : 'http-browserify' }
|
||
|
});
|
||
|
````
|
||
|
|
||
|
in order to map "http-browserify" over `require('http')` in your browserified
|
||
|
source.
|