public Uri GetUri() {
Uri url = null;
switch (UrlMode) {
case UrlMode.AsIs:
url = new Uri(string.Format("{0}/{1}", BaseUrl, Action));
break;
case UrlMode.ReplaceValues:
string assembled = this.ActionFormat;
var urlParms = Parameters.Where(p => p.Type == ParameterType.UrlSegment);
foreach (var p in urlParms) {
assembled = assembled.Replace("{" + p.Name + "}", p.Value.ToString());
}
url = new Uri(string.Format("{0}/{1}", BaseUrl, assembled));
break;
}
return url;
}
}