@@ -150,3 +150,40 @@ def get(self, request): # $ requestHandler
150
150
urlpatterns = [
151
151
path ("UnknownViewSubclass/" , UnknownViewSubclass .as_view ()), # $ routeSetup="UnknownViewSubclass/"
152
152
]
153
+
154
+ ################################################################################
155
+ # Routing to *args and **kwargs
156
+ ################################################################################
157
+
158
+ def kwargs_param (request , ** kwargs ): # $ requestHandler routedParameter=kwargs
159
+ ensure_tainted (
160
+ kwargs , # $ tainted
161
+ kwargs ["foo" ], # $ tainted
162
+ kwargs ["bar" ] # $ tainted
163
+ )
164
+
165
+ ensure_tainted (request ) # $ tainted
166
+
167
+
168
+ def star_args_param (request , * args ): # $ requestHandler MISSING: routedParameter=args
169
+ ensure_tainted (
170
+ args , # $ MISSING: tainted
171
+ args [0 ], # $ MISSING: tainted
172
+ args [1 ], # $ MISSING: tainted
173
+ )
174
+ ensure_tainted (request ) # $ tainted
175
+
176
+
177
+ def star_args_param_check (request , foo , bar ): # $ requestHandler routedParameter=foo routedParameter=bar
178
+ ensure_tainted (
179
+ foo , # $ tainted
180
+ bar , # $ tainted
181
+ )
182
+ ensure_tainted (request ) # $ tainted
183
+
184
+
185
+ urlpatterns = [
186
+ path ("test-kwargs_param/<foo>/<bar>" , kwargs_param ), # $ routeSetup="test-kwargs_param/<foo>/<bar>"
187
+ re_path ("test-star_args_param/([^/]+)/(.+)" , star_args_param ), # $ routeSetup="test-star_args_param/([^/]+)/(.+)"
188
+ re_path ("test-star_args_param_check/([^/]+)/(.+)" , star_args_param_check ), # $ routeSetup="test-star_args_param_check/([^/]+)/(.+)"
189
+ ]
0 commit comments