Skip to content

Commit c675d72

Browse files
committed
use Parameter instead of SimpleParameter in remaining route-handler models
1 parent f65ba11 commit c675d72

File tree

10 files changed

+27
-15
lines changed

10 files changed

+27
-15
lines changed

javascript/ql/src/semmle/javascript/frameworks/Connect.qll

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,17 +30,17 @@ module Connect {
3030
*
3131
* `kind` is one of: "error", "request", "response", "next".
3232
*/
33-
abstract SimpleParameter getRouteHandlerParameter(string kind);
33+
abstract Parameter getRouteHandlerParameter(string kind);
3434

3535
/**
3636
* Gets the parameter of the route handler that contains the request object.
3737
*/
38-
SimpleParameter getRequestParameter() { result = getRouteHandlerParameter("request") }
38+
Parameter getRequestParameter() { result = getRouteHandlerParameter("request") }
3939

4040
/**
4141
* Gets the parameter of the route handler that contains the response object.
4242
*/
43-
SimpleParameter getResponseParameter() { result = getRouteHandlerParameter("response") }
43+
Parameter getResponseParameter() { result = getRouteHandlerParameter("response") }
4444
}
4545

4646
/**
@@ -51,7 +51,7 @@ module Connect {
5151

5252
StandardRouteHandler() { this = any(RouteSetup setup).getARouteHandler() }
5353

54-
override SimpleParameter getRouteHandlerParameter(string kind) {
54+
override Parameter getRouteHandlerParameter(string kind) {
5555
result = getRouteHandlerParameter(astNode, kind)
5656
}
5757
}
@@ -180,7 +180,7 @@ module Connect {
180180
HTTP::Servers::StandardRouteHandler, DataFlow::FunctionNode {
181181
TrackedRouteHandlerCandidateWithSetup() { this = any(RouteSetup s).getARouteHandler() }
182182

183-
override SimpleParameter getRouteHandlerParameter(string kind) {
183+
override Parameter getRouteHandlerParameter(string kind) {
184184
result = getRouteHandlerParameter(astNode, kind)
185185
}
186186
}

javascript/ql/src/semmle/javascript/frameworks/Firebase.qll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@ module Firebase {
223223

224224
RouteHandler() { this = any(RouteSetup setup).getARouteHandler() }
225225

226-
override SimpleParameter getRouteHandlerParameter(string kind) {
226+
override Parameter getRouteHandlerParameter(string kind) {
227227
kind = "request" and result = astNode.getParameter(0)
228228
or
229229
kind = "response" and result = astNode.getParameter(1)

javascript/ql/src/semmle/javascript/frameworks/Hapi.qll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ module Hapi {
3030
/**
3131
* Gets the parameter of the route handler that contains the request object.
3232
*/
33-
SimpleParameter getRequestParameter() { result = function.getParameter(0) }
33+
Parameter getRequestParameter() { result = function.getParameter(0) }
3434
}
3535

3636
/**

javascript/ql/src/semmle/javascript/frameworks/Koa.qll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ module Koa {
4747
/**
4848
* Gets the parameter of the route handler that contains the context object.
4949
*/
50-
SimpleParameter getContextParameter() { result = function.getParameter(0) }
50+
Parameter getContextParameter() { result = function.getParameter(0) }
5151

5252
/**
5353
* Gets an expression that contains the "context" object of

javascript/ql/src/semmle/javascript/frameworks/NodeJSLib.qll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,12 +91,12 @@ module NodeJSLib {
9191
/**
9292
* Gets the parameter of the route handler that contains the request object.
9393
*/
94-
SimpleParameter getRequestParameter() { result = getFunction().getParameter(0) }
94+
Parameter getRequestParameter() { result = getFunction().getParameter(0) }
9595

9696
/**
9797
* Gets the parameter of the route handler that contains the response object.
9898
*/
99-
SimpleParameter getResponseParameter() { result = getFunction().getParameter(1) }
99+
Parameter getResponseParameter() { result = getFunction().getParameter(1) }
100100
}
101101

102102
/**

javascript/ql/src/semmle/javascript/frameworks/Restify.qll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,12 @@ module Restify {
3030
/**
3131
* Gets the parameter of the route handler that contains the request object.
3232
*/
33-
SimpleParameter getRequestParameter() { result = function.getParameter(0) }
33+
Parameter getRequestParameter() { result = function.getParameter(0) }
3434

3535
/**
3636
* Gets the parameter of the route handler that contains the response object.
3737
*/
38-
SimpleParameter getResponseParameter() { result = function.getParameter(1) }
38+
Parameter getResponseParameter() { result = function.getParameter(1) }
3939
}
4040

4141
/**

javascript/ql/src/semmle/javascript/heuristics/AdditionalRouteHandlers.qll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ private class PromotedExpressCandidate extends Express::RouteHandler,
2929
HTTP::Servers::StandardRouteHandler {
3030
PromotedExpressCandidate() { this instanceof ConnectExpressShared::RouteHandlerCandidate }
3131

32-
override SimpleParameter getRouteHandlerParameter(string kind) {
32+
override Parameter getRouteHandlerParameter(string kind) {
3333
result = ConnectExpressShared::getRouteHandlerParameter(getAstNode(), kind)
3434
}
3535
}
@@ -41,7 +41,7 @@ private class PromotedConnectCandidate extends Connect::RouteHandler,
4141
HTTP::Servers::StandardRouteHandler {
4242
PromotedConnectCandidate() { this instanceof ConnectExpressShared::RouteHandlerCandidate }
4343

44-
override SimpleParameter getRouteHandlerParameter(string kind) {
44+
override Parameter getRouteHandlerParameter(string kind) {
4545
result = ConnectExpressShared::getRouteHandlerParameter(getAstNode(), kind)
4646
}
4747
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import javascript
22

33
query predicate test_RouteHandler(
4-
Express::RouteHandler rh, SimpleParameter res0, SimpleParameter res1
4+
Express::RouteHandler rh, Parameter res0, Parameter res1
55
) {
66
res0 = rh.getRequestParameter() and res1 = rh.getResponseParameter()
77
}

javascript/ql/test/library-tests/frameworks/connect/src/test.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,3 +24,7 @@ app.use(function(req,res){})
2424
app.use(function (error, req, res, next){
2525
res.setHeader('HEADER2', '');
2626
});
27+
28+
app.use(function ({url, query, cookies}, res){
29+
cookies.get(query.foobar);
30+
});

javascript/ql/test/library-tests/frameworks/connect/tests.expected

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ test_RouteSetup
55
| src/test.js:19:1:19:28 | app.use ... res){}) |
66
| src/test.js:19:1:20:29 | app.use ... res){}) |
77
| src/test.js:24:1:26:2 | app.use ... '');\\n}) |
8+
| src/test.js:28:1:30:2 | app.use ... ar);\\n}) |
89
test_RequestInputAccess
910
| src/test.js:8:5:8:26 | req.coo ... ('foo') | cookie | src/test.js:6:9:9:1 | functio ... oo');\\n} |
1011
test_RouteHandler_getAResponseHeader
@@ -21,6 +22,7 @@ test_ResponseExpr
2122
| src/test.js:20:23:20:25 | res | src/test.js:20:10:20:28 | function(req,res){} |
2223
| src/test.js:24:31:24:33 | res | src/test.js:24:9:26:1 | functio ... '');\\n} |
2324
| src/test.js:25:5:25:7 | res | src/test.js:24:9:26:1 | functio ... '');\\n} |
25+
| src/test.js:28:42:28:44 | res | src/test.js:28:9:30:1 | functio ... bar);\\n} |
2426
test_HeaderDefinition
2527
| src/test.js:7:5:7:32 | res.set ... 1', '') | src/test.js:6:9:9:1 | functio ... oo');\\n} |
2628
| src/test.js:25:5:25:32 | res.set ... 2', '') | src/test.js:24:9:26:1 | functio ... '');\\n} |
@@ -31,6 +33,7 @@ test_RouteSetup_getServer
3133
| src/test.js:19:1:19:28 | app.use ... res){}) | src/test.js:4:11:4:19 | connect() |
3234
| src/test.js:19:1:20:29 | app.use ... res){}) | src/test.js:4:11:4:19 | connect() |
3335
| src/test.js:24:1:26:2 | app.use ... '');\\n}) | src/test.js:4:11:4:19 | connect() |
36+
| src/test.js:28:1:30:2 | app.use ... ar);\\n}) | src/test.js:4:11:4:19 | connect() |
3437
test_HeaderDefinition_getAHeaderName
3538
| src/test.js:7:5:7:32 | res.set ... 1', '') | header1 |
3639
| src/test.js:25:5:25:32 | res.set ... 2', '') | header2 |
@@ -44,6 +47,7 @@ test_RouteHandler_getAResponseExpr
4447
| src/test.js:20:10:20:28 | function(req,res){} | src/test.js:20:23:20:25 | res |
4548
| src/test.js:24:9:26:1 | functio ... '');\\n} | src/test.js:24:31:24:33 | res |
4649
| src/test.js:24:9:26:1 | functio ... '');\\n} | src/test.js:25:5:25:7 | res |
50+
| src/test.js:28:9:30:1 | functio ... bar);\\n} | src/test.js:28:42:28:44 | res |
4751
test_RouteSetup_getARouteHandler
4852
| src/test.js:6:1:9:2 | app.use ... o');\\n}) | src/test.js:6:9:9:1 | functio ... oo');\\n} |
4953
| src/test.js:12:1:12:42 | app.use ... word')) | src/test.js:12:9:12:41 | basicAu ... sword') |
@@ -53,19 +57,22 @@ test_RouteSetup_getARouteHandler
5357
| src/test.js:19:1:19:28 | app.use ... res){}) | src/test.js:19:9:19:27 | function(req,res){} |
5458
| src/test.js:19:1:20:29 | app.use ... res){}) | src/test.js:20:10:20:28 | function(req,res){} |
5559
| src/test.js:24:1:26:2 | app.use ... '');\\n}) | src/test.js:24:9:26:1 | functio ... '');\\n} |
60+
| src/test.js:28:1:30:2 | app.use ... ar);\\n}) | src/test.js:28:9:30:1 | functio ... bar);\\n} |
5661
test_RouteHandler
5762
| src/test.js:6:9:9:1 | functio ... oo');\\n} | src/test.js:4:11:4:19 | connect() |
5863
| src/test.js:15:12:15:32 | functio ... res){} | src/test.js:4:11:4:19 | connect() |
5964
| src/test.js:19:9:19:27 | function(req,res){} | src/test.js:4:11:4:19 | connect() |
6065
| src/test.js:20:10:20:28 | function(req,res){} | src/test.js:4:11:4:19 | connect() |
6166
| src/test.js:24:9:26:1 | functio ... '');\\n} | src/test.js:4:11:4:19 | connect() |
67+
| src/test.js:28:9:30:1 | functio ... bar);\\n} | src/test.js:4:11:4:19 | connect() |
6268
test_RequestExpr
6369
| src/test.js:6:27:6:29 | req | src/test.js:6:9:9:1 | functio ... oo');\\n} |
6470
| src/test.js:8:5:8:7 | req | src/test.js:6:9:9:1 | functio ... oo');\\n} |
6571
| src/test.js:15:22:15:24 | req | src/test.js:15:12:15:32 | functio ... res){} |
6672
| src/test.js:19:18:19:20 | req | src/test.js:19:9:19:27 | function(req,res){} |
6773
| src/test.js:20:19:20:21 | req | src/test.js:20:10:20:28 | function(req,res){} |
6874
| src/test.js:24:26:24:28 | req | src/test.js:24:9:26:1 | functio ... '');\\n} |
75+
| src/test.js:28:19:28:39 | {url, q ... ookies} | src/test.js:28:9:30:1 | functio ... bar);\\n} |
6976
test_Credentials
7077
| src/test.js:12:19:12:28 | 'username' | user name |
7178
| src/test.js:12:31:12:40 | 'password' | password |
@@ -76,3 +83,4 @@ test_RouteHandler_getARequestExpr
7683
| src/test.js:19:9:19:27 | function(req,res){} | src/test.js:19:18:19:20 | req |
7784
| src/test.js:20:10:20:28 | function(req,res){} | src/test.js:20:19:20:21 | req |
7885
| src/test.js:24:9:26:1 | functio ... '');\\n} | src/test.js:24:26:24:28 | req |
86+
| src/test.js:28:9:30:1 | functio ... bar);\\n} | src/test.js:28:19:28:39 | {url, q ... ookies} |

0 commit comments

Comments
 (0)