static private AddRouteDataToRequest ( IHttpRouteData routeData, |
||
routeData | IHttpRouteData | |
request | ||
return | void |
internal static void AddRouteDataToRequest(IHttpRouteData routeData, HttpRequestMessage request)
{
if (routeData.Values != null)
{
Dictionary<string, object> routeDataValues = new Dictionary<string, object>();
foreach (var pair in routeData.Values)
{
// translate any unspecified optional parameters to null values
// unspecified values still need to be included as part of binding data
// for correct binding to occur
var value = pair.Value != RouteParameter.Optional ? pair.Value : null;
routeDataValues.Add(pair.Key, value);
}
request.Properties.Add(ScriptConstants.AzureFunctionsHttpRouteDataKey, routeDataValues);
}
}
public void AddRouteDataToRequest_DoesNotAddRequestProperty_WhenRouteDataNull() { var mockRouteData = new Mock <IHttpRouteData>(MockBehavior.Strict); IDictionary <string, object> values = null; mockRouteData.Setup(p => p.Values).Returns(values); HttpRequestMessage request = new HttpRequestMessage(); WebScriptHostManager.AddRouteDataToRequest(mockRouteData.Object, request); Assert.False(request.Properties.ContainsKey(ScriptConstants.AzureFunctionsHttpRouteDataKey)); }