File tree Expand file tree Collapse file tree 3 files changed +39
-9
lines changed
ruby/ql/test/library-tests/frameworks/rack Expand file tree Collapse file tree 3 files changed +39
-9
lines changed Original file line number Diff line number Diff line change 11rackApps
2- | rack.rb:1:1:10:3 | HelloWorld | rack.rb:2:12:2:14 | env |
3- | rack.rb:12:1:22:3 | Proxy | rack.rb:17:12:17:18 | the_env |
4- | rack.rb:24:1:37:3 | Logger | rack.rb:30:12:30:14 | env |
5- | rack.rb:39:1:45:3 | Redirector | rack.rb:40:12:40:14 | env |
6- | rack.rb:59:1:75:3 | Baz | rack.rb:60:12:60:14 | env |
7- | rack.rb:77:1:95:3 | Qux | rack.rb:79:17:79:19 | env |
2+ | Rack application: -> { ... } | rack_apps.rb:21:17:21:19 | env |
3+ | Rack application: Baz | rack.rb:60:12:60:14 | env |
4+ | Rack application: ClassApp | rack_apps.rb:16:17:16:19 | env |
5+ | Rack application: HelloWorld | rack.rb:2:12:2:14 | env |
6+ | Rack application: InstanceApp | rack_apps.rb:6:12:6:14 | env |
7+ | Rack application: Logger | rack.rb:30:12:30:14 | env |
8+ | Rack application: Proxy | rack.rb:17:12:17:18 | the_env |
9+ | Rack application: Qux | rack.rb:79:17:79:19 | env |
10+ | Rack application: Redirector | rack.rb:40:12:40:14 | env |
11+ | Rack application: { ... } | rack_apps.rb:23:24:23:26 | env |
812rackResponseContentTypes
913| rack.rb:8:5:8:38 | call to [] | rack.rb:7:34:7:45 | "text/plain" |
1014| rack.rb:20:5:20:27 | call to [] | rack.rb:19:28:19:38 | "text/html" |
Original file line number Diff line number Diff line change @@ -2,9 +2,7 @@ private import codeql.ruby.AST
22private import codeql.ruby.frameworks.Rack
33private import codeql.ruby.DataFlow
44
5- query predicate rackApps ( Rack:: App:: AppCandidate c , DataFlow:: ParameterNode env ) {
6- env = c .getEnv ( )
7- }
5+ query predicate rackApps ( Rack:: App:: App app , DataFlow:: ParameterNode env ) { env = app .getEnv ( ) }
86
97query predicate rackResponseContentTypes (
108 Rack:: Response:: ResponseNode resp , DataFlow:: Node contentType
Original file line number Diff line number Diff line change 1+ require 'rack'
2+ require 'rack/handler/puma'
3+ handler = Rack ::Handler ::Puma
4+
5+ class InstanceApp
6+ def call ( env )
7+ status = 200
8+ headers = { }
9+ body = [ "instance app" ]
10+ resp = [ status , headers , body ]
11+ resp
12+ end
13+ end
14+
15+ class ClassApp
16+ def self . call ( env )
17+ [ 200 , { } , [ "class app" ] ]
18+ end
19+ end
20+
21+ lambda_app = -> ( env ) { [ 200 , { } , [ "lambda app" ] ] }
22+
23+ proc_app = Proc . new { |env | [ 200 , { } , [ "proc app" ] ] }
24+
25+ handler . run InstanceApp . new
26+ handler . run ClassApp
27+ handler . run lambda_app
28+ handler . run proc_app
You can’t perform that action at this time.
0 commit comments