in api/TaskAgentApi.ts [226:256]
private _getAccountUrl(collectionUrl: string): string {
// converts a collection URL to an account URL
// returns null if the conversion can't be made
var purl = url.parse(collectionUrl);
if (!purl.protocol || !purl.host) {
return null;
}
var accountUrl = purl.protocol + '//' + purl.host;
// purl.path is something like /DefaultCollection or /tfs/DefaultCollection or /DefaultCollection/
var splitPath: string[] = purl.path.split('/').slice(1);
if (splitPath.length === 0 || (splitPath.length === 1 && splitPath[0] === '')) {
return null;
}
// if the first segment of the path is tfs, the second is the collection. if the url ends in / there will be a third, empty entry
if (splitPath[0] === 'tfs' && (splitPath.length === 2 || (splitPath.length === 3 && splitPath[2].length === 0))) {
//on prem
accountUrl += '/' + 'tfs';
}
else if (splitPath.length === 2 && splitPath[0] === '') {
// /DefaultCollection/
return accountUrl;
}
else if (splitPath.length > 1) {
return null;
}
return accountUrl;
}