class HeaderValidationMiddleware:
def __init__(self, get_response):
self.get_response = get_response
self.required_header = 'X-API-Key'
def __call__(self, request):
if not request.META.get(f'HTTP_{self.required_header.upper().replace("-", "_")}'):
return HttpResponse('Missing API Key', status=401)
response = self.get_response(request)
return responseScenario: Prasath's Custom Header Validation Middleware
The middleware will work correctly and validate the API key header
The middleware cannot access custom headers from request.META
The header name conversion is incorrect; hyphens should not be replaced with underscores
This validation should only be done in views, not in middleware
Show answer & explanationAnswer
Correct answer
The middleware will work correctly and validate the API key header
Explanation
This middleware validates the presence of a required custom header before allowing the request to proceed. Django converts HTTP headers to META keys with HTTP_ prefix and replaces hyphens with underscores.
Written by ExamHoot EditorialPublished · Updated
All 30 Django Middleware and Request Processing questions
- 1.What is the primary purpose of Django Middleware?
- 2.In which setting in Django is middleware configured?
- 3.What is the order of execution for middleware methods during request processing?
- 4.Which middleware method is called when an exception occurs in a view?
- 5.What does returning a response object from process_request() do?
- 6.Which built-in Django middleware handles Cross-Site Request Forgery (CSRF) protection?
- 7.What is the purpose of the SessionMiddleware in Django?
- 8.What does the CommonMiddleware middleware do?
- 9.In Django middleware, what does returning None from process_request() indicate?
- 10.Which middleware is responsible for adding User object to the request?
- 11.Understanding Django Middleware Execution Order
- 12.Middleware Methods and Request Processing Flow
- 13.Scenario:
- 14.Understanding process_exception() Middleware Method
- 15.Coding:
- 16.Scenario:
- 17.Understanding Middleware Short-Circuiting with Early Response
- 18.Scenario:
- 19.Understanding Middleware Exception Handling
- 20.Scenario:
- 21.Middleware Execution Order and Request Processing Pipeline
- 22.Custom Middleware Implementation for Request Logging
- 23.Exception Handling in Django Middleware
- 24.Request/Response Modification in Middleware - Hari's Scenario
- 25.Middleware Short-Circuiting and Early Response - Prasath's Scenario
- 26.CORS Middleware Implementation
- 27.Conditional Middleware Processing Based on URL Pattern
- 28.Middleware and Template Context Processing
- 29.Database Connection Management in Middleware
- 30.Middleware Initialization with Settings - Hari's Configuration Scenario
