static std::string build_enclave_id_url()

in src/dcap_provider.cpp [936:971]


static std::string build_enclave_id_url(
    bool qve,
    std::string& expected_issuer_chain_header)
{
    std::string version = get_collateral_version();
    std::string client_id = get_client_id();
    std::stringstream qe_id_url;
    expected_issuer_chain_header = headers::QE_ISSUER_CHAIN;

    qe_id_url << get_base_url();

    // Select the correct issuer header name
    if (!version.empty())
    {
        qe_id_url << "/" << version;
        if (version != "v1")
        {
            expected_issuer_chain_header = headers::ENCLAVE_ID_ISSUER_CHAIN;
        }
    }

    // If QVE and V1 is specified, don't create a URL
    if (qve && version == "v1")
    {
        return "";
    }

    qe_id_url << "/" << (qve ? "qveid" : "qeid") << "?";

    if (!client_id.empty())
    {
        qe_id_url << "clientid=" << client_id << '&';
    }
    qe_id_url << API_VERSION_10_2018;
    return qe_id_url.str();
}