Skip to content

Commit 7f39e79

Browse files
authored
Merge pull request #42 from deepeshhmehta/master
- Adding demo to support multiple hooks. - Improving TS definitions.
2 parents 1589888 + 84440e6 commit 7f39e79

File tree

3 files changed

+44
-0
lines changed

3 files changed

+44
-0
lines changed

demos/multiple-hooks.js

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
'use strict'
2+
3+
const gateway = require('./../index')
4+
const PORT = process.env.PORT || 8080
5+
6+
const { multipleHooks } = require('fg-multiple-hooks');
7+
8+
const hook1 = async (req, res) => {
9+
console.log('hook1 with logic 1 called');
10+
// res.send('hook failed here');
11+
return false; // do not abort the request
12+
};
13+
14+
const hook2 = async (req, res) => {
15+
console.log('hook2 with logic 2 called');
16+
const shouldAbort = true;
17+
if (shouldAbort) {
18+
res.send('handle a rejected request here');
19+
}
20+
return shouldAbort;
21+
}
22+
23+
gateway({
24+
routes: [{
25+
prefix: '/service',
26+
target: 'http://127.0.0.1:3000',
27+
hooks: {
28+
onRequest: (req, res) => multipleHooks(req, res, hook1, hook2), // you can add as many hooks as you please
29+
onResponse (req, res, stream) {
30+
// you can alter the origin response and remote response here
31+
// default implementation explained here:
32+
// https://www.npmjs.com/package/fast-gateway#onresponse-hook-default-implementation
33+
}
34+
}
35+
}]
36+
}).start(PORT).then(server => {
37+
console.log(`API Gateway listening on ${PORT} port!`)
38+
})

index.d.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,11 @@ declare namespace fastgateway {
1616
type: string;
1717
}
1818

19+
interface Opts {
20+
server?: Function,
21+
middlewares?: Function[],
22+
routes?: Route[],
23+
}
1924
interface Route {
2025
proxyType?: Type;
2126
fastProxy?: {};

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747
"express": "^4.17.1",
4848
"express-jwt": "^5.3.3",
4949
"express-rate-limit": "^5.1.3",
50+
"fg-multiple-hooks": "^1.0.1",
5051
"helmet": "^3.22.0",
5152
"http-lambda-proxy": "^1.0.1",
5253
"mocha": "^7.2.0",

0 commit comments

Comments
 (0)