add readme, expand tests
This commit is contained in:
parent
6d6dfe1991
commit
0d52156d3c
59
README.md
59
README.md
@ -1 +1,60 @@
|
|||||||
# Requestor
|
# Requestor
|
||||||
|
|
||||||
|
Split express request handlers into individual files to make your api a little
|
||||||
|
more structured.
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
npmrc:
|
||||||
|
|
||||||
|
used to set the registry for @scode
|
||||||
|
|
||||||
|
```npmrc
|
||||||
|
@scode:registry=https://npm.scode.ovh
|
||||||
|
```
|
||||||
|
|
||||||
|
install the package:
|
||||||
|
|
||||||
|
`npm i --save @scode/requestor`
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
The path to which the individual modules respond is defined by their name.
|
||||||
|
|
||||||
|
'.' is used as path separator.
|
||||||
|
|
||||||
|
`method-subdir.subdir.subdir.js`
|
||||||
|
|
||||||
|
method can be any of [post, get, put, delete, all]
|
||||||
|
|
||||||
|
to avoid names like `get-.js` root is used for the root directory
|
||||||
|
(`get-root.js`)
|
||||||
|
|
||||||
|
index.js:
|
||||||
|
|
||||||
|
```js
|
||||||
|
const requestor = require('requestor');
|
||||||
|
const express = require('express');
|
||||||
|
|
||||||
|
const app = express();
|
||||||
|
requestor(app, 'api', {foo: 'bar'});
|
||||||
|
app.listen(3000);
|
||||||
|
```
|
||||||
|
|
||||||
|
api/get-root.js
|
||||||
|
|
||||||
|
```js
|
||||||
|
// will respont to get requests on /
|
||||||
|
module.exports = (req, res, next, opts) => {
|
||||||
|
res.send(opts.foo);
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
|
api/post-subfolder.js
|
||||||
|
|
||||||
|
```js
|
||||||
|
// will respont to post requests on /subfolder/
|
||||||
|
module.exports = (req, res, next, opts) => {
|
||||||
|
res.send(opts.foo);
|
||||||
|
};
|
||||||
|
```
|
||||||
|
@ -57,7 +57,8 @@ describe('requestor', () => {
|
|||||||
'put-/sub/',
|
'put-/sub/',
|
||||||
'delete-/sub/',
|
'delete-/sub/',
|
||||||
'all-/sub/',
|
'all-/sub/',
|
||||||
'get-/sub/lv1/lv2/lv3/'
|
'get-/sub/lv1/lv2/lv3/',
|
||||||
|
'all-/sub/root/'
|
||||||
]);
|
]);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
3
test/sub/all-sub.root.js
Normal file
3
test/sub/all-sub.root.js
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
module.exports = (req, res, next, opts) => {
|
||||||
|
// dummy endpoint: do nothing
|
||||||
|
};
|
Reference in New Issue
Block a user