From 52cb38b8c7a8d5b02f35013982143845d175804f Mon Sep 17 00:00:00 2001 From: Arkadiusz Bienert Date: Mon, 9 Nov 2015 14:18:21 +0100 Subject: [PATCH 1/2] Fix testrunner content negotiation failures on Django 1.8.5 --- rest_framework/negotiation.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/rest_framework/negotiation.py b/rest_framework/negotiation.py index 2a2b6f168..02e4940e8 100644 --- a/rest_framework/negotiation.py +++ b/rest_framework/negotiation.py @@ -93,5 +93,12 @@ class DefaultContentNegotiation(BaseContentNegotiation): Given the incoming request, return a tokenised list of media type strings. """ - header = request.META.get('HTTP_ACCEPT', '*/*') + header = request.META.get('HTTP_ACCEPT') + if not header: + if 'headers' in request.META.keys(): + header = request.META['headers'].get('Accept', '*/*') + else: + header = '*/*' + + header = request.query_params.get(self.settings.URL_ACCEPT_OVERRIDE, header) return [token.strip() for token in header.split(',')] From 4916d2c9e70a96b719948e66b359d29d1c8ff070 Mon Sep 17 00:00:00 2001 From: Arkadiusz Bienert Date: Mon, 9 Nov 2015 14:42:08 +0100 Subject: [PATCH 2/2] Oopsie, some old settings came through :) --- rest_framework/negotiation.py | 1 - 1 file changed, 1 deletion(-) diff --git a/rest_framework/negotiation.py b/rest_framework/negotiation.py index 02e4940e8..2ef44e1b2 100644 --- a/rest_framework/negotiation.py +++ b/rest_framework/negotiation.py @@ -100,5 +100,4 @@ class DefaultContentNegotiation(BaseContentNegotiation): else: header = '*/*' - header = request.query_params.get(self.settings.URL_ACCEPT_OVERRIDE, header) return [token.strip() for token in header.split(',')]