public BuildUriString ( NancyContext context, string routeName, dynamic parameters ) : string | ||
context | NancyContext | |
routeName | string | |
parameters | dynamic | |
리턴 | string |
public string BuildUriString(NancyContext context, string routeName, dynamic parameters)
{
var baseUri = new Uri(context.Request.BaseUri().TrimEnd('/'));
var pathTemplate = AllRoutes.Single(r => r.Name == routeName).Path;
var uriTemplate = new UriTemplate(pathTemplate, true);
return uriTemplate.BindByName(baseUri, ToDictionary(parameters ?? new {})).ToString();
}
public void Link_generated_is_correct_with_simple_template() { var resourceLinker = new ResourceLinker("http://localhost"); var uriString = resourceLinker.BuildUriString("/foo", "/bar", new {}); Assert.That(uriString, Is.EqualTo("http://localhost/foo/bar")); }