mirror of
https://github.com/github/codeql.git
synced 2025-12-19 10:23:15 +01:00
The output from running the test script is: ``` 'rootdir/bar' [13/Apr/2022 09:20:36] "POST /app/file-test/ HTTP/1.1" 200 2 'rootdir/bar' [13/Apr/2022 09:20:36] "POST /app/file-test/ HTTP/1.1" 200 2 'rootdir/foo%2fbar' [13/Apr/2022 09:20:36] "POST /app/file-test/ HTTP/1.1" 200 2 'rootdir/%2e%2e%2fbar' [13/Apr/2022 09:20:36] "POST /app/file-test/ HTTP/1.1" 200 2 'rootdir/foo%c0%afbar' [13/Apr/2022 09:20:36] "POST /app/file-test/ HTTP/1.1" 200 2 ``` I didn't add a `.py` extension, so it wasn't extracted, since we don't actually care about what we model in that file.
59 lines
1.9 KiB
Python
59 lines
1.9 KiB
Python
from django.http import HttpRequest, HttpResponse
|
|
from django.views.generic import View, RedirectView
|
|
from django.views.decorators.csrf import csrf_exempt
|
|
|
|
from .models import MyModel
|
|
|
|
def foo(request: HttpRequest): # $requestHandler
|
|
return HttpResponse("foo") # $HttpResponse
|
|
|
|
|
|
def bar_baz(request: HttpRequest): # $requestHandler
|
|
return HttpResponse("bar_baz") # $HttpResponse
|
|
|
|
|
|
def deprecated(request: HttpRequest): # $requestHandler
|
|
return HttpResponse("deprecated") # $HttpResponse
|
|
|
|
|
|
class MyBasicViewHandler(View):
|
|
def get(self, request: HttpRequest): # $ requestHandler
|
|
return HttpResponse("MyViewHandler: GET") # $ HttpResponse
|
|
|
|
def post(self, request: HttpRequest): # $ requestHandler
|
|
return HttpResponse("MyViewHandler: POST") # $ HttpResponse
|
|
|
|
|
|
class MyCustomViewBaseClass(View):
|
|
def post(self, request: HttpRequest): # $ requestHandler
|
|
return HttpResponse("MyCustomViewBaseClass: POST") # $ HttpResponse
|
|
|
|
|
|
class MyViewHandlerWithCustomInheritance(MyCustomViewBaseClass):
|
|
def get(self, request: HttpRequest): # $ requestHandler
|
|
print(self.request.GET)
|
|
return HttpResponse("MyViewHandlerWithCustomInheritance: GET") # $ HttpResponse
|
|
|
|
# RedirectView
|
|
# See docs at https://docs.djangoproject.com/en/3.1/ref/class-based-views/base/#redirectview
|
|
class CustomRedirectView(RedirectView):
|
|
|
|
def get_redirect_url(self, foo): # $ requestHandler routedParameter=foo
|
|
next = "https://example.com/{}".format(foo)
|
|
return next # $ HttpResponse HttpRedirectResponse redirectLocation=next
|
|
|
|
|
|
class CustomRedirectView2(RedirectView):
|
|
|
|
url = "https://example.com/%(foo)s"
|
|
|
|
|
|
# Test of FileField upload_to functions
|
|
def file_test(request: HttpRequest): # $ requestHandler
|
|
model = MyModel(upload=request.FILES['fieldname'])
|
|
try:
|
|
model.save()
|
|
except NotImplementedError:
|
|
pass
|
|
return HttpResponse("ok") # $ HttpResponse
|