@@ -14,16 +14,24 @@ module Hapi {
14
14
// `server = new Hapi.Server()`
15
15
this = DataFlow:: moduleMember ( "hapi" , "Server" ) .getAnInstantiation ( )
16
16
or
17
- // server = Glue.compose(manifest, composeOptions)
17
+ // ` server = Glue.compose(manifest, composeOptions)`
18
18
this = DataFlow:: moduleMember ( "@hapi/glue" , "compose" ) .getAnInvocation ( )
19
19
or
20
- // server inside a plugin
21
- // TODO match `function (server, options)`
20
+ // `register (server, options)`
22
21
exists ( Function f |
23
22
this .( DataFlow:: ParameterNode ) .getParameter ( ) = f .getParameter ( 0 ) and
23
+ f .getName ( ) = "register" and
24
24
f .getParameter ( 0 ) .getName ( ) = "server" and
25
25
f .getParameter ( 1 ) .getName ( ) = "options"
26
26
)
27
+ or
28
+ // `const after = function (server) {...};`
29
+ // `server.dependency('name', after);`
30
+ exists ( ServerDefinition server , DataFlow:: MethodCallNode call |
31
+ call = server .ref ( ) .getAMethodCall ( ) and
32
+ call .getMethodName ( ) = "dependency" and
33
+ this = call .getArgument ( 1 ) .( DataFlow:: FunctionNode ) .getParameter ( 0 )
34
+ )
27
35
}
28
36
}
29
37
@@ -261,7 +269,7 @@ module Hapi {
261
269
RouteHandlerCandidate ( ) {
262
270
exists ( string request , string responseToolkit |
263
271
( request = "request" or request = "req" ) and
264
- responseToolkit = "h" and
272
+ responseToolkit = [ "h" , "hapi" ] and
265
273
// heuristic: parameter names match the Hapi documentation
266
274
astNode .getNumParameter ( ) = 2 and
267
275
astNode .getParameter ( 0 ) .getName ( ) = request and
0 commit comments