light-request
v0.0.4
Published
light request for browsers and node.js
Downloads
2
Readme
light-request
light-request
is simple ajax module.
support following feature:
- ES6 Promise
- Thunk
- Node.js style callback
PREPARE:
<script src="light-request.js"></script>
with Browserify or Node.js
// ES5
var request = require('light-request');
// or
// with Babel and so on
import request from 'light-request';
QUICK EXAMPLE:
<script src="http://lightspeedworks.github.io/light-request/light-request.js"></script>
<!--[if IE]><script src="http://lightspeedworks.github.io/promise-light/promise-light.js"></script><![endif]-->
<script>
// as a promise
request.get('/').then(
function (res) {
console.log('res.statusCode:', res.statusCode);
console.log('res.statusMessage:', res.statusMessage);
console.log('res.body:', res.body);
console.log('res.headers:', res.headers);
},
function (err) { console.error(err); }
);
// as a thunk
request.get('/')(
function (err, res) {
if (err) return console.error(err);
console.log('res.statusCode:', res.statusCode);
console.log('res.statusMessage:', res.statusMessage);
console.log('res.body:', res.body);
console.log('res.headers:', res.headers);
}
);
// with callback
request.get('/',
function (err, res) {
if (err) return console.error(err);
console.log('res.statusCode:', res.statusCode);
console.log('res.statusMessage:', res.statusMessage);
console.log('res.body:', res.body);
console.log('res.headers:', res.headers);
}
);
</script>
QUICK EXAMPLE WITH GENERATORS:
const request = require('light-request');
//const aa = require('aa'); // or, use 'co'
const aa = gen => function cb(err, val) {
const obj = err ? gen.throw(err) : gen.next(val);
obj.done || (obj.value)(cb); } ();
aa(function *() {
try {
const res = yield request.get('http://xxx');
console.log('res.statusCode:', res.statusCode);
console.log('res.statusMessage:', res.statusMessage);
console.log('res.body:', res.body);
console.log('res.headers:', res.headers);
} catch (err) {
console.error(err);
}
} ());
USAGE:
request(method, [options], uri, data, cb): void
if callback function cb
is specified, it returns void (undefined).
request(method, [options], uri, data, function (err, res) {});
request(method, [options], uri, data): Promise or Thunk
it returns Promise or Thunk.
p = request(method, [options], uri, data);
// as a promise
p.then(function (res) {}, function (err) {});
p.then(function (res) {}).catch(function (err) {});
// or, as a thunk
p(function (err, res) {});
method: String
- 'GET'
- 'POST'
- 'PUT'
- 'DELETE'
- and so on
uri: String
uri = 'http://www.google.com';
data: String or JSON
data = 'field1=10&field2=20'; // send string
data = {field1: 10, field2: 20}; // send JSON string
data = undefined; // send nothing (length zero)
options.headers: Object
options = {headers: {'x-sample-header': 'any-value'}};
request.get([options], uri, [cb]): void, Promise or Thunk
p = request.get([options], uri);
request.post([options], uri, data, [cb]): void, Promise or Thunk
p = request.post([options], uri, data);
request.put([options], uri, data, [cb]): void, Promise or Thunk
p = request.put([options], uri, data);
request.del([options], uri, data, [cb]): void, Promise or Thunk
p = request.del([options], uri, data);
p = request.delete([options], uri, data);
LICENSE:
MIT