Skip to content

Commit a3c84d9

Browse files
committed
Added support for axios.create.
1 parent 8f2adb6 commit a3c84d9

File tree

3 files changed

+8
-1
lines changed

3 files changed

+8
-1
lines changed

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,9 @@ module ClientRequest {
223223
or
224224
this = axios().getMember(method).getACall() and
225225
method = [httpMethodName(), "request", "postForm", "putForm", "patchForm", "getUri"]
226+
or
227+
this = axios().getMember("create").getReturn().getACall() and
228+
method = "request"
226229
}
227230

228231
private int getOptionsArgIndex() {

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@ test_ClientRequest
109109
| tst.js:347:5:347:30 | axios.p ... , data) |
110110
| tst.js:348:5:348:38 | axios.p ... config) |
111111
| tst.js:349:5:349:30 | axios.g ... url }) |
112+
| tst.js:352:5:352:66 | axiosIn ... text"}) |
112113
test_getADataNode
113114
| axiosTest.js:12:5:17:6 | axios({ ... \\n }) | axiosTest.js:15:18:15:55 | { 'Cont ... json' } |
114115
| axiosTest.js:12:5:17:6 | axios({ ... \\n }) | axiosTest.js:16:15:16:35 | {x: 'te ... 'test'} |
@@ -285,6 +286,8 @@ test_getUrl
285286
| tst.js:347:5:347:30 | axios.p ... , data) | tst.js:347:21:347:23 | url |
286287
| tst.js:348:5:348:38 | axios.p ... config) | tst.js:348:21:348:23 | url |
287288
| tst.js:349:5:349:30 | axios.g ... url }) | tst.js:349:18:349:29 | { url: url } |
289+
| tst.js:352:5:352:66 | axiosIn ... text"}) | tst.js:352:19:352:65 | {method ... "text"} |
290+
| tst.js:352:5:352:66 | axiosIn ... text"}) | tst.js:352:40:352:42 | url |
288291
test_getAResponseDataNode
289292
| axiosTest.js:4:5:7:6 | axios({ ... \\n }) | axiosTest.js:4:5:7:6 | axios({ ... \\n }) | json | true |
290293
| axiosTest.js:12:5:17:6 | axios({ ... \\n }) | axiosTest.js:12:5:17:6 | axios({ ... \\n }) | json | true |
@@ -377,3 +380,4 @@ test_getAResponseDataNode
377380
| tst.js:347:5:347:30 | axios.p ... , data) | tst.js:347:5:347:30 | axios.p ... , data) | json | true |
378381
| tst.js:348:5:348:38 | axios.p ... config) | tst.js:348:5:348:38 | axios.p ... config) | json | true |
379382
| tst.js:349:5:349:30 | axios.g ... url }) | tst.js:349:5:349:30 | axios.g ... url }) | json | true |
383+
| tst.js:352:5:352:66 | axiosIn ... text"}) | tst.js:352:5:352:66 | axiosIn ... text"}) | text | true |

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -349,5 +349,5 @@ function moreAxiosTests(url, data, config){
349349
axios.getUri({ url: url });
350350

351351
const axiosInstance = axios.create({});
352-
axiosInstance({method: "get", url: url, responseType: "text"}); // Not flagged
352+
axiosInstance({method: "get", url: url, responseType: "text"});
353353
}

0 commit comments

Comments
 (0)