27 lines
1015 B
C#
27 lines
1015 B
C#
// Copyright (c) .NET Foundation. All rights reserved.
|
|
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
|
|
|
using System.Net.Http;
|
|
using System.Threading.Tasks;
|
|
using Microsoft.AspNetCore.Mvc.ModelBinding;
|
|
using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
|
|
|
|
namespace Microsoft.AspNetCore.Mvc.WebApiCompatShim
|
|
{
|
|
/// <summary>
|
|
/// <see cref="IModelBinder"/> implementation to bind models of type <see cref="HttpRequestMessage"/>.
|
|
/// </summary>
|
|
public class HttpRequestMessageModelBinder : IModelBinder
|
|
{
|
|
/// <inheritdoc />
|
|
public Task BindModelAsync(ModelBindingContext bindingContext)
|
|
{
|
|
var model = bindingContext.HttpContext.GetHttpRequestMessage();
|
|
bindingContext.ValidationState.Add(model, new ValidationStateEntry() { SuppressValidation = true });
|
|
bindingContext.Result = ModelBindingResult.Success(model);
|
|
|
|
return Task.CompletedTask;
|
|
}
|
|
}
|
|
}
|