@@ -150,9 +150,7 @@ private class HttpBuilderUriArgument extends RequestForgerySink {
150
150
*/
151
151
private class SpringRestTemplateArgument extends RequestForgerySink {
152
152
SpringRestTemplateArgument ( ) {
153
- exists ( MethodAccess ma |
154
- this .asExpr ( ) = ma .getMethod ( ) .( SpringRestTemplateUrlMethod ) .getUrlArgument ( ma )
155
- )
153
+ this .asExpr ( ) = any ( SpringRestTemplateUrlMethodAccess m ) .getUrlArgument ( )
156
154
}
157
155
}
158
156
@@ -198,16 +196,19 @@ private class SpringRestTemplateUrlMethod extends Method {
198
196
"execute" , "getForEntity" , "getForObject" , "patchForObject"
199
197
] )
200
198
}
199
+ }
200
+
201
+ /**
202
+ * A call to a Spring Rest Template method
203
+ * that takes a URL as an argument.
204
+ */
205
+ private class SpringRestTemplateUrlMethodAccess extends MethodAccess {
206
+ SpringRestTemplateUrlMethodAccess ( ) { this .getMethod ( ) instanceof SpringRestTemplateUrlMethod }
201
207
202
208
/**
203
- * Gets the argument which corresponds to a URL argument
204
- * passed as a `java.net.URL` object or as a string or the like
209
+ * Gets the URL argument of this template call.
205
210
*/
206
- Argument getUrlArgument ( MethodAccess ma ) {
207
- // doExecute(URI url, HttpMethod method, RequestCallback requestCallback,
208
- // ResponseExtractor<T> responseExtractor)
209
- result = ma .getArgument ( 0 )
210
- }
211
+ Argument getUrlArgument ( ) { result = this .getArgument ( 0 ) }
211
212
}
212
213
213
214
/** A sanitizer for request forgery vulnerabilities. */
0 commit comments