Microsoft.Azure.WebJobs.Script.WebHost.WebScriptHostManager.AddRouteDataToRequest C# (CSharp) Method

AddRouteDataToRequest() static private method

static private AddRouteDataToRequest ( IHttpRouteData routeData, HttpRequestMessage request ) : void
routeData IHttpRouteData
request System.Net.Http.HttpRequestMessage
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);
            }
        }

Usage Example

        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));
        }
All Usage Examples Of Microsoft.Azure.WebJobs.Script.WebHost.WebScriptHostManager::AddRouteDataToRequest