https://github.com/luin/tser
A general client for RESTful API
https://github.com/luin/tser
Last synced: about 1 year ago
JSON representation
A general client for RESTful API
- Host: GitHub
- URL: https://github.com/luin/tser
- Owner: luin
- License: mit
- Created: 2014-11-27T11:00:23.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2014-12-31T08:57:54.000Z (over 11 years ago)
- Last Synced: 2025-04-19T12:05:59.748Z (over 1 year ago)
- Language: JavaScript
- Size: 203 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Tser
====
A general node.js client for RESTful API
[](https://travis-ci.org/luin/tser)
Install
-------
$ npm install tser
Usage
-----
Tser is the reversed 'Rest' and it can turn any RESTful API into a node.js client.
```javascript
var tser = require('tser');
var api = tser('http://demo7394653.mockable.io/');
// GET http://domain.com/api/users/12/projects?status=active
api.users(12).projects.get({ status: 'active' }).then(function(res) {
console.log(res);
});
```
```javascript
var tser = require('tser');
var api = tser('http://demo7394653.mockable.io/');
// POST http://demo7394653.mockable.io/api/users
// with json body { name: 'Bob' }
api.users.post({ name: 'Bob' }).then(function(res) {
console.log(res);
});
```
```javascript
var tser = require('tser');
var api = tser('http://demo7394653.mockable.io/', {
transform: {
request: function(options) {
if (this.auth) {
options.auth = this.auth;
}
return options;
}
}
});
// GET http://demo7394653.mockable.io/api/users/me
api.users('me').get().catch(function(err) {
// 401
});
api.$set('auth', {
user: 'abc',
pass: 'pass'
});
// GET http://demo7394653.mockable.io/api/users/me
api.users('me').get().then(function(me) {
console.log(me);
});
```