Skip to content

Commit 666c4bf

Browse files
committed
move custom approuter handler to extension
1 parent e267102 commit 666c4bf

File tree

4 files changed

+34
-12
lines changed

4 files changed

+34
-12
lines changed

approuter/approuter-start.js

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,6 @@
1-
const approuter = require('@sap/approuter');
1+
const approuter = require("@sap/approuter");
22
var ar = approuter();
3-
ar.beforeRequestHandler.use('/services/userapi/currentUser', function (req, res, next) {
4-
if (!req.user) {
5-
res.statusCode = 403;
6-
res.end(`Missing JWT Token`);
7-
} else {
8-
res.statusCode = 200;
9-
res.setHeader("Content-type", "application/json")
10-
res.end(JSON.stringify(req.user));
11-
}
3+
ar.first;
4+
ar.start({
5+
extensions: [require("./my-ext.js")],
126
});
13-
ar.start();

approuter/my-ext.js

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
module.exports = {
2+
insertMiddleware: {
3+
first: [
4+
function logRequest(req, res, next) {
5+
console.log("Got request %s %s %s", req.method, req.url, req.headers);
6+
return next();
7+
},
8+
],
9+
beforeRequestHandler: [
10+
{
11+
path: "/services/userapi/currentUser",
12+
handler: function myMiddleware(req, res, next) {
13+
if (!req.user) {
14+
res.statusCode = 403;
15+
res.end(`Missing JWT Token`);
16+
} else {
17+
res.statusCode = 200;
18+
res.setHeader("Content-type", "application/json");
19+
res.end(JSON.stringify(req.user));
20+
}
21+
},
22+
},
23+
],
24+
},
25+
};

approuter/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
},
1111
"scripts": {
1212
"start": "node ./approuter-start.js",
13-
"start-local": "export VCAP_SERVICES=`cat default-env.json | jq .VCAP_SERVICES` && node ./approuter-start.js"
13+
"start-local": "export VCAP_SERVICES=`cat default-env.json | jq .VCAP_SERVICES` && node ./approuter-start.js",
14+
"default-env": "cf default-env html5userapi-ui"
1415
}
1516
}

test/approuter.http

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
###
2+
GET http://localhost:5000/services/userapi/currentUser
3+
Authorization: Bearer {{$dotenv bearerToken}}

0 commit comments

Comments
 (0)