def url_filter(url_list: list) -> list:
    """Filters out URLs that are to be queried, skipping URLs that responded with 204 HTTP code.

        Args:
            url_list: List of URL with metadata dict object.
        
        Returns:
            List of URL with metadata dict object that need to be queried.
    """
    ret_list = []
    for cur_url in url_list:
        if cur_url['status'] == 'pending' or cur_url['status'].startswith('fail'):
            if 'http_code' in cur_url: 
                if cur_url['http_code'] != '204':
                    ret_list.append(cur_url)
            else:
                ret_list.append(cur_url)
    return ret_list