JS: eliminate DefaultUrlRequest: extract the got library

This commit is contained in:
Esben Sparre Andreasen
2018-09-03 13:09:57 +02:00
parent de6b83548a
commit 0a89f1a420

View File

@@ -52,31 +52,6 @@ private string urlPropertyName() {
result = "url"
}
/**
* A simple model of common URL request libraries.
*/
private class DefaultUrlRequest extends CustomUrlRequest {
DataFlow::Node url;
DefaultUrlRequest() {
exists (string moduleName, DataFlow::SourceNode callee |
this = callee.getACall() |
(
moduleName = "superagent" and
callee = DataFlow::moduleMember(moduleName, httpMethodName()) and
url = getArgument(0)
)
)
}
override DataFlow::Node getUrl() {
result = url
}
}
/**
* A model of a URL request in the `request` library.
*/
@@ -218,3 +193,25 @@ private class GotUrlRequest extends CustomUrlRequest {
}
}
/**
* A model of a URL request in the `superagent` library.
*/
private class SuperAgentUrlRequest extends CustomUrlRequest {
DataFlow::Node url;
SuperAgentUrlRequest() {
exists (string moduleName, DataFlow::SourceNode callee |
this = callee.getACall() |
moduleName = "superagent" and
callee = DataFlow::moduleMember(moduleName, httpMethodName()) and
url = getArgument(0)
)
}
override DataFlow::Node getUrl() {
result = url
}
}