public override async Task GetValueAsync()

in src/WebJobs.Extensions.Http/HttpTriggerAttributeBindingProvider.cs [485:512]


                public override async Task<object> GetValueAsync()
                {
                    if (_parameter.ParameterType == typeof(HttpRequest))
                    {
                        return _request;
                    }
                    else if (_parameter.ParameterType == typeof(HttpRequestMessage))
                    {
                        return new HttpRequestMessageFeature(_request.HttpContext).HttpRequestMessage;
                    }
                    else if (_parameter.ParameterType == typeof(object))
                    {
                        // for dynamic, we read as an object, which will actually return
                        // a JObject which is dynamic

                        // Only supported for JSON payloads
                        if (_request.IsJsonContentType())
                        {
                            using (var reader = new StreamReader(_request.Body))
                            {
                                string jsonString = await reader.ReadToEndAsync();
                                return JsonConvert.DeserializeObject(jsonString);
                            }
                        }
                    }

                    return await base.GetValueAsync();
                }