'Analyze the cache control settings set in headers and meta tags,
store the information to report the vulnerabilities.'

def _analyze_cache_control(self, cache_control_settings, response):

    received_headers = set()
    for cache_setting in cache_control_settings:
        expected_header = self.SAFE_CONFIG[cache_setting.type]
        received_header = cache_setting.value.lower()
        received_headers.add(cache_setting.type)
        if (expected_header not in received_header):
            self.is_vuln(response)
            return
    if (len(received_headers) != len(self.SAFE_CONFIG)):
        self.is_vuln(response)
