def send(self, request, cacheable_methods=None, **kw):
cacheable = cacheable_methods or self.cacheable_methods<EOL>if request.method in cacheable:<EOL><INDENT>try:<EOL><INDENT>cached_response = self.controller.cached_request(request)<EOL><DEDENT>except zlib.error:<EOL><INDENT>cached_response = None<EOL><DEDENT>if cached_response:<EOL><INDENT>return self.build_response(request, cached_response, from_cache=True)<EOL><DEDENT>request.headers.update(self.controller.conditional_headers(request))<EOL><DEDENT>resp = super(CacheControlAdapter, self).send(request, **kw)<EOL>return resp<EOL>
Send a request. Use the request information to see if it
exists in the cache and cache the response if we need to and can.