@@ -94,9 +94,7 @@ mod actix_test {
9494 use super :: sink;
9595 use actix_web:: { get, web, App } ;
9696
97- async fn my_actix_handler_1 (
98- path : web:: Path < String > ,
99- ) -> String {
97+ async fn my_actix_handler_1 ( path : web:: Path < String > ) -> String {
10098 let a = path. into_inner ( ) ;
10199 sink ( a. as_str ( ) ) ; // $ hasTaintFlow=my_actix_handler_1
102100 sink ( a. as_bytes ( ) ) ; // $ hasTaintFlow=my_actix_handler_1
@@ -105,9 +103,7 @@ mod actix_test {
105103 "" . to_string ( )
106104 }
107105
108- async fn my_actix_handler_2 (
109- path : web:: Path < ( String , String ) > ,
110- ) -> String {
106+ async fn my_actix_handler_2 ( path : web:: Path < ( String , String ) > ) -> String {
111107 let ( a, b) = path. into_inner ( ) ;
112108
113109 sink ( a) ; // $ hasTaintFlow=my_actix_handler_2
@@ -116,18 +112,14 @@ mod actix_test {
116112 "" . to_string ( )
117113 }
118114
119- async fn my_actix_handler_3 (
120- web:: Query ( a) : web:: Query < String > ,
121- ) -> String {
115+ async fn my_actix_handler_3 ( web:: Query ( a) : web:: Query < String > ) -> String {
122116 sink ( a) ; // $ hasTaintFlow=my_actix_handler_3
123117
124118 "" . to_string ( )
125119 }
126120
127121 #[ get( "/4/{a}" ) ] // $ Alert[rust/summary/taint-sources]
128- async fn my_actix_handler_4 (
129- path : web:: Path < String > ,
130- ) -> String {
122+ async fn my_actix_handler_4 ( path : web:: Path < String > ) -> String {
131123 let a = path. into_inner ( ) ;
132124 sink ( a) ; // $ hasTaintFlow=my_actix_handler_4
133125
@@ -148,83 +140,71 @@ mod actix_test {
148140mod axum_test {
149141 use super :: sink;
150142 use axum:: extract:: { Json , Path , Query , Request } ;
151- use axum:: routing:: get;
143+ use axum:: routing:: { get, post , put , MethodFilter } ;
152144 use axum:: Router ;
153145 use std:: collections:: HashMap ;
154146
155- async fn my_axum_handler_1 (
156- Path ( a) : Path < String > , // $ MISSING: Alert[rust/summary/taint-sources]
157- ) -> & ' static str {
158- sink ( a. as_str ( ) ) ; // $ MISSING: hasTaintFlow
159- sink ( a. as_bytes ( ) ) ; // $ MISSING: hasTaintFlow
160- sink ( a) ; // $ MISSING: hasTaintFlow
147+ async fn my_axum_handler_1 ( Path ( a) : Path < String > ) -> & ' static str {
148+ sink ( a. as_str ( ) ) ; // $ hasTaintFlow=my_axum_handler_1
149+ sink ( a. as_bytes ( ) ) ; // $ hasTaintFlow=my_axum_handler_1
150+ sink ( a) ; // $ hasTaintFlow=my_axum_handler_1
161151
162152 ""
163153 }
164154
165- async fn my_axum_handler_2 (
166- Path ( ( a, b) ) : Path < ( String , String ) > , // $ MISSING: Alert[rust/summary/taint-sources]
167- ) -> & ' static str {
168- sink ( a) ; // $ MISSING: hasTaintFlow
169- sink ( b) ; // $ MISSING: hasTaintFlow
155+ async fn my_axum_handler_2 ( Path ( ( a, b) ) : Path < ( String , String ) > ) -> & ' static str {
156+ sink ( a) ; // $ hasTaintFlow=my_axum_handler_2
157+ sink ( b) ; // $ hasTaintFlow=my_axum_handler_2
170158
171159 ""
172160 }
173161
174- async fn my_axum_handler_3 (
175- Query ( params) : Query < HashMap < String , String > > , // $ MISSING: Alert[rust/summary/taint-sources]
176- ) -> & ' static str {
162+ async fn my_axum_handler_3 ( Query ( params) : Query < HashMap < String , String > > ) -> & ' static str {
177163 for ( key, value) in params {
178- sink ( key) ; // $ MISSING: hasTaintFlow
179- sink ( value) ; // $ MISSING: hasTaintFlow
164+ sink ( key) ; // $ hasTaintFlow=my_axum_handler_3
165+ sink ( value) ; // $ hasTaintFlow=my_axum_handler_3
180166 }
181167
182168 ""
183169 }
184170
185- async fn my_axum_handler_4 (
186- request : Request , // $ MISSING: Alert[rust/summary/taint-sources]
187- ) -> & ' static str {
171+ async fn my_axum_handler_4 ( request : Request ) -> & ' static str {
188172 sink ( request. body ( ) ) ; // $ MISSING: hasTaintFlow
189173 request. headers ( ) . get ( "header" ) . unwrap ( ) ; // $ MISSING: hasTaintFlow
190174 sink ( request. into_body ( ) ) ; // $ MISSING: hasTaintFlow
191175
192176 ""
193177 }
194178
195- async fn my_axum_handler_5 (
196- Json ( payload) : Json < serde_json:: Value > , // $ MISSING: Alert[rust/summary/taint-sources]
197- ) -> & ' static str {
179+ async fn my_axum_handler_5 ( Json ( payload) : Json < serde_json:: Value > ) -> & ' static str {
198180 sink ( payload. as_str ( ) ) ; // $ MISSING: hasTaintFlow
199- sink ( payload) ; // $ MISSING: hasTaintFlow
181+ sink ( payload) ; // $ hasTaintFlow=...::DELETE
200182
201183 ""
202184 }
203185
204- async fn my_axum_handler_6 (
205- body : String , // $ MISSING: Alert[rust/summary/taint-sources]
206- ) -> & ' static str {
207- sink ( body) ; // $ MISSING: hasTaintFlow
186+ async fn my_axum_handler_6 ( body : String ) -> & ' static str {
187+ sink ( body) ; // $ hasTaintFlow=my_axum_handler_6
208188
209189 ""
210190 }
211191
212- async fn my_axum_handler_7 (
213- body : String , // $ MISSING: Alert[rust/summary/taint-sources]
214- ) -> & ' static str {
215- sink ( body) ; // $ MISSING: hasTaintFlow
192+ async fn my_axum_handler_7 ( body : String ) -> & ' static str {
193+ sink ( body) ; // $ hasTaintFlow=my_axum_handler_7
216194
217195 ""
218196 }
219197
220198 async fn test_axum ( ) {
221199 let app = Router :: < ( ) > :: new ( )
222- . route ( "/1/{a}" , get ( my_axum_handler_1) )
223- . route ( "/2/{a}/{b}" , get ( my_axum_handler_2) )
224- . route ( "/3/:a" , get ( my_axum_handler_3) )
225- . route ( "/4/:a" , get ( my_axum_handler_4) )
226- . route ( "/5/:a" , get ( my_axum_handler_5) )
227- . route ( "/67/:a" , get ( my_axum_handler_6) . get ( my_axum_handler_7) ) ;
200+ . route ( "/1/{a}" , get ( my_axum_handler_1) ) // $ Alert[rust/summary/taint-sources])
201+ . route ( "/2/{a}/{b}" , post ( my_axum_handler_2) ) // $ Alert[rust/summary/taint-sources])
202+ . route ( "/3/:a" , put ( my_axum_handler_3) ) // $ Alert[rust/summary/taint-sources])
203+ . route (
204+ "/4/:a" ,
205+ get ( my_axum_handler_4) . on ( MethodFilter :: DELETE , my_axum_handler_5) , // $ Alert[rust/summary/taint-sources])
206+ )
207+ . route ( "/5/:a" , get ( my_axum_handler_6) . get ( my_axum_handler_7) ) ; // $ Alert[rust/summary/taint-sources])
228208
229209 // ...
230210 }
0 commit comments