def update_cached_response(self, request, response):
cache_url = self.cache_url(request.url)<EOL>cached_response = self.serializer.loads(request, self.cache.get(cache_url))<EOL>if not cached_response:<EOL><INDENT>return response<EOL><DEDENT>excluded_headers = ["<STR_LIT>"]<EOL>cached_response.headers.update(<EOL>dict(<EOL>(k, v)<EOL>for k, v in response.headers.items()<EOL>if k.lower() not in excluded_headers<EOL>)<EOL>)<EOL>cached_response.status = <NUM_LIT:200><EOL>self.cache.set(cache_url, self.serializer.dumps(request, cached_response))<EOL>return cached_response<EOL>
On a 304 we will get a new set of headers that we want to
        update our cached value with, assuming we have one.

        This should only ever be called when we've sent an ETag and
        gotten a 304 as the response.