Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 3c07b4f

Browse files
author
Esben Sparre Andreasen
committed
JS: implement getADataNode for SuperAgentUrlRequest
1 parent eef0b8c commit 3c07b4f

5 files changed

Lines changed: 28 additions & 1 deletion

File tree

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

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,10 @@ private class SuperAgentUrlRequest extends CustomClientRequest {
239239
}
240240

241241
override DataFlow::Node getADataNode() {
242-
none()
242+
exists (string name |
243+
name = "set" or name = "send" or name = "query" |
244+
result = this.getAChainedMethodCall(name).getAnArgument()
245+
)
243246
}
244247

245248
}

javascript/ql/test/library-tests/frameworks/ClientRequests/ClientRequest.expected

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,8 @@
2222
| tst.js:59:5:59:52 | axios({ ... sData}) |
2323
| tst.js:61:5:61:60 | window. ... yData}) |
2424
| tst.js:63:5:63:68 | got(url ... yData}) |
25+
| tst.js:65:5:65:23 | superagent.get(url) |
26+
| tst.js:66:5:66:23 | superagent.get(url) |
27+
| tst.js:67:5:67:24 | superagent.post(url) |
28+
| tst.js:68:5:68:23 | superagent.get(url) |
29+
| tst.js:69:5:69:23 | superagent.get(url) |

javascript/ql/test/library-tests/frameworks/ClientRequests/ClientRequest_getADataNode.expected

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,11 @@
77
| tst.js:61:5:61:60 | window. ... yData}) | tst.js:61:51:61:58 | bodyData |
88
| tst.js:63:5:63:68 | got(url ... yData}) | tst.js:63:24:63:33 | headerData |
99
| tst.js:63:5:63:68 | got(url ... yData}) | tst.js:63:42:63:49 | bodyData |
10+
| tst.js:65:5:65:23 | superagent.get(url) | tst.js:65:31:65:34 | data |
11+
| tst.js:66:5:66:23 | superagent.get(url) | tst.js:66:29:66:31 | 'x' |
12+
| tst.js:66:5:66:23 | superagent.get(url) | tst.js:66:34:66:43 | headerData |
13+
| tst.js:67:5:67:24 | superagent.post(url) | tst.js:67:31:67:38 | bodyData |
14+
| tst.js:68:5:68:23 | superagent.get(url) | tst.js:68:29:68:31 | 'x' |
15+
| tst.js:68:5:68:23 | superagent.get(url) | tst.js:68:34:68:43 | headerData |
16+
| tst.js:68:5:68:23 | superagent.get(url) | tst.js:68:52:68:60 | queryData |
17+
| tst.js:69:5:69:23 | superagent.get(url) | tst.js:69:48:69:56 | queryData |

javascript/ql/test/library-tests/frameworks/ClientRequests/ClientRequest_getUrl.expected

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,3 +26,8 @@
2626
| tst.js:59:5:59:52 | axios({ ... sData}) | tst.js:59:11:59:51 | {header ... msData} |
2727
| tst.js:61:5:61:60 | window. ... yData}) | tst.js:61:18:61:20 | url |
2828
| tst.js:63:5:63:68 | got(url ... yData}) | tst.js:63:9:63:11 | url |
29+
| tst.js:65:5:65:23 | superagent.get(url) | tst.js:65:20:65:22 | url |
30+
| tst.js:66:5:66:23 | superagent.get(url) | tst.js:66:20:66:22 | url |
31+
| tst.js:67:5:67:24 | superagent.post(url) | tst.js:67:21:67:23 | url |
32+
| tst.js:68:5:68:23 | superagent.get(url) | tst.js:68:20:68:22 | url |
33+
| tst.js:69:5:69:23 | superagent.get(url) | tst.js:69:20:69:22 | url |

javascript/ql/test/library-tests/frameworks/ClientRequests/tst.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,4 +62,10 @@ import {ClientRequest, net} from 'electron';
6262

6363
got(url, {headers: headerData, body: bodyData, quer: queryData});
6464

65+
superagent.get(url).query(data);
66+
superagent.get(url).set('x', headerData)
67+
superagent.post(url).send(bodyData);
68+
superagent.get(url).set('x', headerData).query(queryData);
69+
superagent.get(url).unknown(nonData).query(queryData);
70+
6571
});

0 commit comments

Comments
 (0)