public override async Task ExecuteBindingAsync(ModelMetadataProvider metadataProvider, HttpActionContext actionContext, CancellationToken cancellationToken) { await Descriptor.BindWithFormatter().ExecuteBindingAsync(metadataProvider, actionContext, cancellationToken); await Descriptor.BindWithModelBinding().ExecuteBindingAsync(metadataProvider, actionContext, cancellationToken); await new EnsureRequestParameterBinding(descriptor: Descriptor).ExecuteBindingAsync(metadataProvider, actionContext, cancellationToken); }
public override Task ExecuteBindingAsync(ModelMetadataProvider metadataProvider, HttpActionContext actionContext, CancellationToken cancellationToken) { List <MediaTypeFormatter> perRequestFormatters = new List <MediaTypeFormatter>(); foreach (MediaTypeFormatter formatter in _formatters) { MediaTypeFormatter perRequestFormatter = formatter.GetPerRequestFormatterInstance(Descriptor.ParameterType, actionContext.Request, actionContext.Request.Content.Headers.ContentType); perRequestFormatters.Add(perRequestFormatter); } return(Descriptor.BindWithFormatter(perRequestFormatters).ExecuteBindingAsync(metadataProvider, actionContext, cancellationToken)); }
protected virtual HttpParameterBinding CreateInnerBinding(IEnumerable <MediaTypeFormatter> perRequestFormatters) { return(Descriptor.BindWithFormatter(perRequestFormatters)); }
protected override HttpParameterBinding CreateInnerBinding(IEnumerable <MediaTypeFormatter> perRequestFormatters) { return(Descriptor.BindWithFormatter(perRequestFormatters, bodyModelValidator: null)); }
public override Task ExecuteBindingAsync(ModelMetadataProvider metadataProvider, HttpActionContext actionContext, CancellationToken cancellationToken) { var formatter = _formatter.GetPerRequestFormatterInstance(Descriptor.ParameterType, actionContext.Request, actionContext.Request.Content.Headers.ContentType); return(Descriptor.BindWithFormatter(new[] { formatter }).ExecuteBindingAsync(metadataProvider, actionContext, cancellationToken)); }