Check use_etags before trying to set ETag header

This commit is contained in:
George Hickman 2013-03-21 00:03:41 -07:00
parent a337dc3b5f
commit 61f6fe2b81

View File

@ -101,10 +101,11 @@ class RetrieveModelMixin(object):
queryset = self.get_queryset() queryset = self.get_queryset()
filtered_queryset = self.filter_queryset(queryset) filtered_queryset = self.filter_queryset(queryset)
self.object = self.get_object(filtered_queryset) self.object = self.get_object(filtered_queryset)
if self.use_etags: headers = {}
if getattr(self, 'use_etags', False):
if self.get_etag(self.object) == request.META.get('HTTP_IF_NONE_MATCH'): if self.get_etag(self.object) == request.META.get('HTTP_IF_NONE_MATCH'):
return Response(status=304) return Response(status=304)
headers = {'ETag': self.get_etag(self.object)} headers.update({'ETag': self.get_etag(self.object)})
serializer = self.get_serializer(self.object) serializer = self.get_serializer(self.object)
return Response(serializer.data, headers=headers) return Response(serializer.data, headers=headers)