def METHOD_NAME(self, response, url):
    threat = response['threat']
    url_status = response['url_status']
    description = f"Connecting to a malicious URL {url}. Detected by: URLhaus " \
                      f"threat: {threat}, URL status: {url_status}"
    try:
        tags = " ".join(response['tags'])
        description += f', tags: {tags}'
    except TypeError:
        # no tags available
        tags = ''
    try:
        payloads: dict = response['payloads'][0]
        file_type = payloads.get("file_type", "")
        file_name = payloads.get("filename", "")
        md5 = payloads.get("response_md5", "")
        signature = payloads.get("signature", "")
        description += f', the file hosted in this url is of type: {file_type},' \
                           f' filename: {file_name} md5: {md5} signature: {signature}. '
        # if we dont have a percentage repprted by vt, we will set out own
        # tl in set_evidence_malicious_url() function
        threat_level = False
        if virustotal_info := payloads.get("virustotal", ""):
            virustotal_percent = virustotal_info.get("percent", "")
            threat_level = virustotal_percent
            # virustotal_result = virustotal_info.get("result", "")
            # virustotal_result.replace('\',''')
            description += f'and was marked by {virustotal_percent}% of virustotal\'s AVs as malicious'
    except (KeyError, IndexError):
        # no payloads available
        pass
    return {
        # get all the blacklists where this ioc is listed
        'source': 'URLhaus',
        'url': url,
        'description': description,
        'threat_level': threat_level,
        'tags': tags,
    }