public async Task <bool> HasLinkParameter(string linkName, string parameterName) { string link; var spaceRootDocument = await loadSpaceRootResource.Value.ConfigureAwait(false); if (spaceRootDocument != null && spaceRootDocument.HasLink(linkName)) { link = spaceRootDocument.Link(linkName); } else { var rootDocument = await loadRootResource.Value.ConfigureAwait(false); if (rootDocument.HasLink(linkName)) { link = rootDocument.Link(linkName); } else { return(false); } } var template = new UrlTemplate(link); return(template.GetParameterNames().Contains(parameterName)); }
public Uri QualifyUri(string path, object parameters = null) { var dictionary = parameters as IDictionary <string, object>; path = (dictionary == null) ? UrlTemplate.Resolve(path, parameters) : UrlTemplate.Resolve(path, dictionary); return(serverEndpoint.OctopusServer.Resolve(path)); }
/// <summary> /// Resolves the specified template spec. /// </summary> /// <param name="templateSpec"> The template spec. </param> /// <param name="parameters"> The parameters. </param> /// <returns> </returns> public static string Resolve(string templateSpec, IDictionary <string, object> parameters) { var template = new UrlTemplate(templateSpec); parameters = parameters ?? new Dictionary <string, object>(); foreach (var param in parameters) { template.SetParameter(param.Key, param.Value); } return(template.Resolve()); }
public bool HasLinkParameter(string linkName, string parameterName) { string link; if (loadSpaceRootResource.Value != null && loadSpaceRootResource.Value.HasLink(linkName)) { link = loadSpaceRootResource.Value.Link(linkName); } else if (loadRootResource.Value.HasLink(linkName)) { link = loadRootResource.Value.Link(linkName); } else { return(false); } var template = new UrlTemplate(link); return(template.GetParameterNames().Contains(parameterName)); }
/// <summary> /// Resolves the specified template spec. /// </summary> /// <param name="templateSpec"> The template spec. </param> /// <param name="parameters"> The parameters. </param> /// <returns> </returns> public static string Resolve(string templateSpec, IDictionary<string, object> parameters) { var template = new UrlTemplate(templateSpec); parameters = parameters ?? new Dictionary<string, object>(); foreach (var param in parameters) { template.SetParameter(param.Key, param.Value); } return template.Resolve(); }