class Async::HTTP::Cache::General

def wrap(key, request, response)

def wrap(key, request, response)
	if response.status != 200
		return response
	end
	
	if request.head? and body = response.body
		unless body.empty?
			Console.logger.warn(self) {"HEAD request resulted in non-empty body!"}
			
			return response
		end
	end
	
	return Body.wrap(response) do |response, body|
		Console.logger.debug(self) {"Updating cache for #{key}..."}
		@store.insert(key, request, Response.new(response, body))
	end
end