2017-03-09 23:17:41 +08:00
|
|
|
from contextlib import suppress
|
|
|
|
|
2013-05-16 07:14:28 +08:00
|
|
|
from django.core.exceptions import SuspiciousOperation
|
2013-05-19 23:55:12 +08:00
|
|
|
from django.db import connection, transaction
|
2013-03-06 18:12:24 +08:00
|
|
|
from django.http import HttpResponse, StreamingHttpResponse
|
2014-11-22 04:47:46 +08:00
|
|
|
from django.views.decorators.csrf import csrf_exempt
|
2013-03-06 18:12:24 +08:00
|
|
|
|
2017-03-09 23:17:41 +08:00
|
|
|
with suppress(ImportError): # Python < 3.5
|
2016-04-27 01:43:34 +08:00
|
|
|
from http import HTTPStatus
|
|
|
|
|
2013-11-03 12:36:09 +08:00
|
|
|
|
2013-03-06 18:12:24 +08:00
|
|
|
def regular(request):
|
|
|
|
return HttpResponse(b"regular content")
|
|
|
|
|
2013-11-03 12:36:09 +08:00
|
|
|
|
2013-03-06 18:12:24 +08:00
|
|
|
def streaming(request):
|
|
|
|
return StreamingHttpResponse([b"streaming", b" ", b"content"])
|
|
|
|
|
2013-11-03 12:36:09 +08:00
|
|
|
|
2013-03-06 18:12:24 +08:00
|
|
|
def in_transaction(request):
|
|
|
|
return HttpResponse(str(connection.in_atomic_block))
|
|
|
|
|
2013-11-03 12:36:09 +08:00
|
|
|
|
2013-05-19 23:55:12 +08:00
|
|
|
@transaction.non_atomic_requests
|
2013-03-06 18:12:24 +08:00
|
|
|
def not_in_transaction(request):
|
|
|
|
return HttpResponse(str(connection.in_atomic_block))
|
2013-05-16 07:14:28 +08:00
|
|
|
|
2013-11-03 12:36:09 +08:00
|
|
|
|
2013-05-16 07:14:28 +08:00
|
|
|
def suspicious(request):
|
|
|
|
raise SuspiciousOperation('dubious')
|
2014-11-22 04:47:46 +08:00
|
|
|
|
|
|
|
|
|
|
|
@csrf_exempt
|
|
|
|
def malformed_post(request):
|
|
|
|
request.POST
|
|
|
|
return HttpResponse()
|
2016-04-27 01:43:34 +08:00
|
|
|
|
|
|
|
|
|
|
|
def httpstatus_enum(request):
|
|
|
|
return HttpResponse(status=HTTPStatus.OK)
|