mirror of
				https://github.com/django/django.git
				synced 2025-10-30 00:56:09 +00:00 
			
		
		
		
	SuspiciousOperations have been differentiated into subclasses, and are now logged to a 'django.security.*' logger. SuspiciousOperations that reach django.core.handlers.base.BaseHandler will now return a 400 instead of a 500. Thanks to tiwoc for the report, and Carl Meyer and Donald Stufft for review.
		
			
				
	
	
		
			22 lines
		
	
	
		
			639 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
		
			639 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| from __future__ import unicode_literals
 | |
| 
 | |
| from django.core.exceptions import SuspiciousOperation
 | |
| from django.db import connection, transaction
 | |
| from django.http import HttpResponse, StreamingHttpResponse
 | |
| 
 | |
| def regular(request):
 | |
|     return HttpResponse(b"regular content")
 | |
| 
 | |
| def streaming(request):
 | |
|     return StreamingHttpResponse([b"streaming", b" ", b"content"])
 | |
| 
 | |
| def in_transaction(request):
 | |
|     return HttpResponse(str(connection.in_atomic_block))
 | |
| 
 | |
| @transaction.non_atomic_requests
 | |
| def not_in_transaction(request):
 | |
|     return HttpResponse(str(connection.in_atomic_block))
 | |
| 
 | |
| def suspicious(request):
 | |
|     raise SuspiciousOperation('dubious')
 |