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

Skip to content

Commit 977b287

Browse files
author
Esben Sparre Andreasen
committed
JS: implement getADataNode for FetchUrlRequest
1 parent c21a047 commit 977b287

5 files changed

Lines changed: 10 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
@@ -180,7 +180,10 @@ private class FetchUrlRequest extends CustomClientRequest {
180180
}
181181

182182
override DataFlow::Node getADataNode() {
183-
none()
183+
exists (string name |
184+
name = "headers" or name = "body" |
185+
result = getOptionArgument(1, name)
186+
)
184187
}
185188

186189
}

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,4 @@
2020
| tst.js:55:5:55:34 | axios.g ... _data}) |
2121
| tst.js:57:5:57:39 | axios.p ... data2}) |
2222
| tst.js:59:5:59:52 | axios({ ... sData}) |
23+
| tst.js:61:5:61:60 | window. ... yData}) |

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,5 @@
33
| tst.js:57:5:57:39 | axios.p ... data2}) | tst.js:57:33:57:37 | data2 |
44
| tst.js:59:5:59:52 | axios({ ... sData}) | tst.js:59:21:59:30 | headerData |
55
| tst.js:59:5:59:52 | axios({ ... sData}) | tst.js:59:41:59:50 | paramsData |
6+
| tst.js:61:5:61:60 | window. ... yData}) | tst.js:61:33:61:42 | headerData |
7+
| tst.js:61:5:61:60 | window. ... yData}) | tst.js:61:51:61:58 | bodyData |

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,3 +24,4 @@
2424
| tst.js:55:5:55:34 | axios.g ... _data}) | tst.js:55:15:55:15 | x |
2525
| tst.js:57:5:57:39 | axios.p ... data2}) | tst.js:57:16:57:16 | x |
2626
| tst.js:59:5:59:52 | axios({ ... sData}) | tst.js:59:11:59:51 | {header ... msData} |
27+
| tst.js:61:5:61:60 | window. ... yData}) | tst.js:61:18:61:20 | url |

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,4 +57,6 @@ import {ClientRequest, net} from 'electron';
5757
axios.post(x, data1, {data: data2});
5858

5959
axios({headers: headerData, params: paramsData});
60+
61+
window.fetch(url, {headers: headerData, body: bodyData});
6062
});

0 commit comments

Comments
 (0)