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 1
1
rackApps
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 |
8
12
rackResponseContentTypes
9
13
| rack.rb:8:5:8:38 | call to [] | rack.rb:7:34:7:45 | "text/plain" |
10
14
| 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
2
2
private import codeql.ruby.frameworks.Rack
3
3
private import codeql.ruby.DataFlow
4
4
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 ( ) }
8
6
9
7
query predicate rackResponseContentTypes (
10
8
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