async getDataPlaneURL()

in src/services/APIService.ts [17:39]


    async getDataPlaneURL(id: string) : Promise<string> {
        let armUrl = this.authContext.taskParameters.armEndpoint;
        let armEndpointSuffix = id.toLowerCase() + "?api-version=" + ApiVersionConstants.cp2022Version;
        let armEndpoint = new URL(armEndpointSuffix, armUrl);
        let header = await this.authContext.getARMTokenHeader();
        let response = await FetchUtil.httpClientRetries(armEndpoint.toString(),header,FetchCallType.get,3,"");
        let resourceName = Util.getResourceNameFromResourceId(id);
        if(response.message.statusCode == 200) {
            let respObj: LoadTestResource = await Util.getResultObj(response);
            if(respObj.properties?.dataPlaneURI) {
                let dataPlaneUrl = respObj.properties.dataPlaneURI;
                return dataPlaneUrl;
            }
            throw new Error(`The dataplane URL is not present for the load test resource ${resourceName}, this resource cannot be used for running the tests. Please provide a valid resource.`);
        }
        if(response.message.statusCode == 404) {
            var message = `The Azure Load Testing resource ${resourceName} does not exist. Please provide an existing resource.`;
            throw new Error(message);
        }
        let errorObj: LoadTestResource = await Util.getResultObj(response);
        console.log(errorObj ? errorObj : Util.errorCorrection(response));
        throw new Error("Error fetching resource " + resourceName);
    }