def filter_servers(servers, features=None):
    """
    Filter a list of servers by feature.

    :param servers: List of servers as parsed from nordvpn api in json format
    :param features: List of features to filter the server list. If None or
                     empty the default 'openvpn_udp' is applied.
    :returns: The filtered list
    """
    if features is None or not features:
        features = ['openvpn_udp']
    filtered_servers = []
    servers = servers.copy()
    for server in servers:
        append = True
        for feature in features:
            if not server['features'][feature]:
                append = False
                break
        if append:
            filtered_servers.append(server)
    return filtered_servers
