private getRequestPath()

in src/models/console/consoleOperation.ts [105:142]


    private getRequestPath(getHidden: boolean = false): string {
        let versionPath = "";

        if (this.api.apiVersionSet && this.api.apiVersion && this.api.apiVersionSet.versioningScheme === "Segment") {
            versionPath = `/${this.api.apiVersion}`;
        }

        let requestUrl = this.urlTemplate;
        const parameters = this.templateParameters().concat(this.request.queryParameters());

        const wildcardName = "{*}"
        requestUrl = requestUrl.replace("*", wildcardName);

        parameters.forEach(parameter => {
            if (parameter.value()) {
                const parameterPlaceholder = `{${parameter.name()}}`;

                if (requestUrl.indexOf(parameterPlaceholder) > -1) {
                    requestUrl = requestUrl.replace(parameterPlaceholder,
                        !getHidden || !parameter.secret ? Utils.encodeURICustomized(parameter.value())
                            : parameter.value().replace(/./g, "•"));
                }
                else {
                    requestUrl = this.addParam(requestUrl, Utils.encodeURICustomized(parameter.name()),
                        !getHidden || !parameter.secret ? Utils.encodeURICustomized(parameter.value())
                            : parameter.value().replace(/./g, "•"));
                }
            }
        });

        if (this.api.apiVersionSet && this.api.apiVersionSet.versioningScheme === "Query") {
            requestUrl = this.addParam(requestUrl, this.api.apiVersionSet.versionQueryName, this.api.apiVersion);
        }
        
        requestUrl = requestUrl.replace(wildcardName, "");

        return `${this.api.path}${versionPath}${requestUrl}`;
    }