def get_public_endpoint_url_by_name(body_response, endpoint_name, region_name):
    """
    Get the public endpoint for service in a region by service NAME
    :param body_response: Keystone response (/token)
    :param endpoint_name: Service name
    :param region_name: Name of the region
    :return: Public URL or None if not found
    """
    service_list = body_response['access']['serviceCatalog']

    public_url = None
    for service in service_list:
        if service['name'] == endpoint_name:
            for endpoint in service['endpoints']:
                if endpoint['region'] == region_name:
                    public_url = endpoint['publicURL']

    return public_url