Update WebAPI shim functional tests to use a header for payload
The issue is that responses to HEAD cannot have a body. When running these tests on a real server, they break because the server throws when you try to write to the body.
This commit is contained in:
parent
b4975b779c
commit
f338f70e06
|
|
@ -14,7 +14,7 @@ namespace Microsoft.AspNet.Mvc.FunctionalTests
|
|||
{
|
||||
public class WebApiCompatShimActionSelectionTest
|
||||
{
|
||||
private readonly IServiceProvider _services = TestHelper.CreateServices(nameof(WebApiCompatShimWebSite));
|
||||
private readonly IServiceProvider _provider = TestHelper.CreateServices(nameof(WebApiCompatShimWebSite));
|
||||
private readonly Action<IApplicationBuilder> _app = new WebApiCompatShimWebSite.Startup().Configure;
|
||||
|
||||
[Theory]
|
||||
|
|
@ -28,7 +28,7 @@ namespace Microsoft.AspNet.Mvc.FunctionalTests
|
|||
public async Task WebAPIConvention_TakesHttpMethodFromPrefix_UnnamedAction(string httpMethod, string actionName)
|
||||
{
|
||||
// Arrange
|
||||
var server = TestServer.Create(_services, _app);
|
||||
var server = TestServer.Create(_provider, _app);
|
||||
var client = server.CreateClient();
|
||||
|
||||
var request = new HttpRequestMessage(
|
||||
|
|
@ -37,9 +37,9 @@ namespace Microsoft.AspNet.Mvc.FunctionalTests
|
|||
|
||||
// Act
|
||||
var response = await client.SendAsync(request);
|
||||
var body = await response.Content.ReadAsStringAsync();
|
||||
|
||||
var result = JsonConvert.DeserializeObject<ActionSelectionResult>(body);
|
||||
var data = Assert.Single(response.Headers.GetValues("ActionSelection"));
|
||||
var result = JsonConvert.DeserializeObject<ActionSelectionResult>(data);
|
||||
|
||||
//Assert
|
||||
Assert.Equal(HttpStatusCode.OK, response.StatusCode);
|
||||
|
|
@ -57,7 +57,7 @@ namespace Microsoft.AspNet.Mvc.FunctionalTests
|
|||
public async Task WebAPIConvention_TakesHttpMethodFromPrefix_NamedAction(string httpMethod, string actionName)
|
||||
{
|
||||
// Arrange
|
||||
var server = TestServer.Create(_services, _app);
|
||||
var server = TestServer.Create(_provider, _app);
|
||||
var client = server.CreateClient();
|
||||
|
||||
var request = new HttpRequestMessage(
|
||||
|
|
@ -66,9 +66,9 @@ namespace Microsoft.AspNet.Mvc.FunctionalTests
|
|||
|
||||
// Act
|
||||
var response = await client.SendAsync(request);
|
||||
var body = await response.Content.ReadAsStringAsync();
|
||||
|
||||
var result = JsonConvert.DeserializeObject<ActionSelectionResult>(body);
|
||||
var data = Assert.Single(response.Headers.GetValues("ActionSelection"));
|
||||
var result = JsonConvert.DeserializeObject<ActionSelectionResult>(data);
|
||||
|
||||
//Assert
|
||||
Assert.Equal(HttpStatusCode.OK, response.StatusCode);
|
||||
|
|
@ -79,7 +79,7 @@ namespace Microsoft.AspNet.Mvc.FunctionalTests
|
|||
public async Task WebAPIConvention_TakesHttpMethodFromPrefix_NamedAction_MismatchedVerb()
|
||||
{
|
||||
// Arrange
|
||||
var server = TestServer.Create(_services, _app);
|
||||
var server = TestServer.Create(_provider, _app);
|
||||
var client = server.CreateClient();
|
||||
|
||||
var request = new HttpRequestMessage(
|
||||
|
|
@ -97,7 +97,7 @@ namespace Microsoft.AspNet.Mvc.FunctionalTests
|
|||
public async Task WebAPIConvention_TakesHttpMethodFromPrefix_UnnamedAction_DefaultVerbIsPost_Success()
|
||||
{
|
||||
// Arrange
|
||||
var server = TestServer.Create(_services, _app);
|
||||
var server = TestServer.Create(_provider, _app);
|
||||
var client = server.CreateClient();
|
||||
|
||||
var request = new HttpRequestMessage(
|
||||
|
|
@ -106,9 +106,9 @@ namespace Microsoft.AspNet.Mvc.FunctionalTests
|
|||
|
||||
// Act
|
||||
var response = await client.SendAsync(request);
|
||||
var body = await response.Content.ReadAsStringAsync();
|
||||
|
||||
var result = JsonConvert.DeserializeObject<ActionSelectionResult>(body);
|
||||
var data = Assert.Single(response.Headers.GetValues("ActionSelection"));
|
||||
var result = JsonConvert.DeserializeObject<ActionSelectionResult>(data);
|
||||
|
||||
//Assert
|
||||
Assert.Equal(HttpStatusCode.OK, response.StatusCode);
|
||||
|
|
@ -119,7 +119,7 @@ namespace Microsoft.AspNet.Mvc.FunctionalTests
|
|||
public async Task WebAPIConvention_TakesHttpMethodFromPrefix_NamedAction_DefaultVerbIsPost_Success()
|
||||
{
|
||||
// Arrange
|
||||
var server = TestServer.Create(_services, _app);
|
||||
var server = TestServer.Create(_provider, _app);
|
||||
var client = server.CreateClient();
|
||||
|
||||
var request = new HttpRequestMessage(
|
||||
|
|
@ -128,9 +128,9 @@ namespace Microsoft.AspNet.Mvc.FunctionalTests
|
|||
|
||||
// Act
|
||||
var response = await client.SendAsync(request);
|
||||
var body = await response.Content.ReadAsStringAsync();
|
||||
|
||||
var result = JsonConvert.DeserializeObject<ActionSelectionResult>(body);
|
||||
var data = Assert.Single(response.Headers.GetValues("ActionSelection"));
|
||||
var result = JsonConvert.DeserializeObject<ActionSelectionResult>(data);
|
||||
|
||||
//Assert
|
||||
Assert.Equal(HttpStatusCode.OK, response.StatusCode);
|
||||
|
|
@ -141,7 +141,7 @@ namespace Microsoft.AspNet.Mvc.FunctionalTests
|
|||
public async Task WebAPIConvention_TakesHttpMethodFromPrefix_UnnamedAction_DefaultVerbIsPost_VerbMismatch()
|
||||
{
|
||||
// Arrange
|
||||
var server = TestServer.Create(_services, _app);
|
||||
var server = TestServer.Create(_provider, _app);
|
||||
var client = server.CreateClient();
|
||||
|
||||
var request = new HttpRequestMessage(
|
||||
|
|
@ -159,7 +159,7 @@ namespace Microsoft.AspNet.Mvc.FunctionalTests
|
|||
public async Task WebAPIConvention_TakesHttpMethodFromPrefix_NamedAction_DefaultVerbIsPost_VerbMismatch()
|
||||
{
|
||||
// Arrange
|
||||
var server = TestServer.Create(_services, _app);
|
||||
var server = TestServer.Create(_provider, _app);
|
||||
var client = server.CreateClient();
|
||||
|
||||
var request = new HttpRequestMessage(
|
||||
|
|
@ -177,7 +177,7 @@ namespace Microsoft.AspNet.Mvc.FunctionalTests
|
|||
public async Task WebAPIConvention_TakesHttpMethodFromMethodName_NotActionName_UnnamedAction_Success()
|
||||
{
|
||||
// Arrange
|
||||
var server = TestServer.Create(_services, _app);
|
||||
var server = TestServer.Create(_provider, _app);
|
||||
var client = server.CreateClient();
|
||||
|
||||
var request = new HttpRequestMessage(
|
||||
|
|
@ -186,9 +186,9 @@ namespace Microsoft.AspNet.Mvc.FunctionalTests
|
|||
|
||||
// Act
|
||||
var response = await client.SendAsync(request);
|
||||
var body = await response.Content.ReadAsStringAsync();
|
||||
|
||||
var result = JsonConvert.DeserializeObject<ActionSelectionResult>(body);
|
||||
var data = Assert.Single(response.Headers.GetValues("ActionSelection"));
|
||||
var result = JsonConvert.DeserializeObject<ActionSelectionResult>(data);
|
||||
|
||||
//Assert
|
||||
Assert.Equal(HttpStatusCode.OK, response.StatusCode);
|
||||
|
|
@ -199,7 +199,7 @@ namespace Microsoft.AspNet.Mvc.FunctionalTests
|
|||
public async Task WebAPIConvention_TakesHttpMethodFromMethodName_NotActionName_NamedAction_Success()
|
||||
{
|
||||
// Arrange
|
||||
var server = TestServer.Create(_services, _app);
|
||||
var server = TestServer.Create(_provider, _app);
|
||||
var client = server.CreateClient();
|
||||
|
||||
var request = new HttpRequestMessage(
|
||||
|
|
@ -208,9 +208,9 @@ namespace Microsoft.AspNet.Mvc.FunctionalTests
|
|||
|
||||
// Act
|
||||
var response = await client.SendAsync(request);
|
||||
var body = await response.Content.ReadAsStringAsync();
|
||||
|
||||
var result = JsonConvert.DeserializeObject<ActionSelectionResult>(body);
|
||||
var data = Assert.Single(response.Headers.GetValues("ActionSelection"));
|
||||
var result = JsonConvert.DeserializeObject<ActionSelectionResult>(data);
|
||||
|
||||
//Assert
|
||||
Assert.Equal(HttpStatusCode.OK, response.StatusCode);
|
||||
|
|
@ -221,7 +221,7 @@ namespace Microsoft.AspNet.Mvc.FunctionalTests
|
|||
public async Task WebAPIConvention_TakesHttpMethodFromMethodName_NotActionName_UnnamedAction_VerbMismatch()
|
||||
{
|
||||
// Arrange
|
||||
var server = TestServer.Create(_services, _app);
|
||||
var server = TestServer.Create(_provider, _app);
|
||||
var client = server.CreateClient();
|
||||
|
||||
var request = new HttpRequestMessage(
|
||||
|
|
@ -239,7 +239,7 @@ namespace Microsoft.AspNet.Mvc.FunctionalTests
|
|||
public async Task WebAPIConvention_TakesHttpMethodFromMethodName_NotActionName_NamedAction_VerbMismatch()
|
||||
{
|
||||
// Arrange
|
||||
var server = TestServer.Create(_services, _app);
|
||||
var server = TestServer.Create(_provider, _app);
|
||||
var client = server.CreateClient();
|
||||
|
||||
var request = new HttpRequestMessage(
|
||||
|
|
@ -257,7 +257,7 @@ namespace Microsoft.AspNet.Mvc.FunctionalTests
|
|||
public async Task WebAPIConvention_HttpMethodOverride_UnnamedAction_Success()
|
||||
{
|
||||
// Arrange
|
||||
var server = TestServer.Create(_services, _app);
|
||||
var server = TestServer.Create(_provider, _app);
|
||||
var client = server.CreateClient();
|
||||
|
||||
var request = new HttpRequestMessage(
|
||||
|
|
@ -266,9 +266,9 @@ namespace Microsoft.AspNet.Mvc.FunctionalTests
|
|||
|
||||
// Act
|
||||
var response = await client.SendAsync(request);
|
||||
var body = await response.Content.ReadAsStringAsync();
|
||||
|
||||
var result = JsonConvert.DeserializeObject<ActionSelectionResult>(body);
|
||||
var data = Assert.Single(response.Headers.GetValues("ActionSelection"));
|
||||
var result = JsonConvert.DeserializeObject<ActionSelectionResult>(data);
|
||||
|
||||
//Assert
|
||||
Assert.Equal(HttpStatusCode.OK, response.StatusCode);
|
||||
|
|
@ -279,7 +279,7 @@ namespace Microsoft.AspNet.Mvc.FunctionalTests
|
|||
public async Task WebAPIConvention_HttpMethodOverride_NamedAction_Success()
|
||||
{
|
||||
// Arrange
|
||||
var server = TestServer.Create(_services, _app);
|
||||
var server = TestServer.Create(_provider, _app);
|
||||
var client = server.CreateClient();
|
||||
|
||||
var request = new HttpRequestMessage(
|
||||
|
|
@ -288,9 +288,9 @@ namespace Microsoft.AspNet.Mvc.FunctionalTests
|
|||
|
||||
// Act
|
||||
var response = await client.SendAsync(request);
|
||||
var body = await response.Content.ReadAsStringAsync();
|
||||
|
||||
var result = JsonConvert.DeserializeObject<ActionSelectionResult>(body);
|
||||
var data = Assert.Single(response.Headers.GetValues("ActionSelection"));
|
||||
var result = JsonConvert.DeserializeObject<ActionSelectionResult>(data);
|
||||
|
||||
//Assert
|
||||
Assert.Equal(HttpStatusCode.OK, response.StatusCode);
|
||||
|
|
@ -301,7 +301,7 @@ namespace Microsoft.AspNet.Mvc.FunctionalTests
|
|||
public async Task WebAPIConvention_HttpMethodOverride_UnnamedAction_VerbMismatch()
|
||||
{
|
||||
// Arrange
|
||||
var server = TestServer.Create(_services, _app);
|
||||
var server = TestServer.Create(_provider, _app);
|
||||
var client = server.CreateClient();
|
||||
|
||||
var request = new HttpRequestMessage(
|
||||
|
|
@ -319,7 +319,7 @@ namespace Microsoft.AspNet.Mvc.FunctionalTests
|
|||
public async Task WebAPIConvention_HttpMethodOverride_NamedAction_VerbMismatch()
|
||||
{
|
||||
// Arrange
|
||||
var server = TestServer.Create(_services, _app);
|
||||
var server = TestServer.Create(_provider, _app);
|
||||
var client = server.CreateClient();
|
||||
|
||||
var request = new HttpRequestMessage(
|
||||
|
|
@ -368,16 +368,16 @@ namespace Microsoft.AspNet.Mvc.FunctionalTests
|
|||
public async Task LegacyActionSelection_OverloadedAction_WithUnnamedAction(string httpMethod, string requestUrl, string expectedActionName)
|
||||
{
|
||||
// Arrange
|
||||
var server = TestServer.Create(_services, _app);
|
||||
var server = TestServer.Create(_provider, _app);
|
||||
var client = server.CreateClient();
|
||||
|
||||
var request = new HttpRequestMessage(new HttpMethod(httpMethod), "http://localhost/" + requestUrl);
|
||||
|
||||
// Act
|
||||
var response = await client.SendAsync(request);
|
||||
var body = await response.Content.ReadAsStringAsync();
|
||||
|
||||
var result = JsonConvert.DeserializeObject<ActionSelectionResult>(body);
|
||||
var data = Assert.Single(response.Headers.GetValues("ActionSelection"));
|
||||
var result = JsonConvert.DeserializeObject<ActionSelectionResult>(data);
|
||||
|
||||
//Assert
|
||||
Assert.Equal(HttpStatusCode.OK, response.StatusCode);
|
||||
|
|
@ -395,16 +395,16 @@ namespace Microsoft.AspNet.Mvc.FunctionalTests
|
|||
public async Task LegacyActionSelection_OverloadedAction_NonIdRouteParameter(string httpMethod, string requestUrl, string expectedActionName)
|
||||
{
|
||||
// Arrange
|
||||
var server = TestServer.Create(_services, _app);
|
||||
var server = TestServer.Create(_provider, _app);
|
||||
var client = server.CreateClient();
|
||||
|
||||
var request = new HttpRequestMessage(new HttpMethod(httpMethod), "http://localhost/" + requestUrl);
|
||||
|
||||
// Act
|
||||
var response = await client.SendAsync(request);
|
||||
var body = await response.Content.ReadAsStringAsync();
|
||||
|
||||
var result = JsonConvert.DeserializeObject<ActionSelectionResult>(body);
|
||||
var data = Assert.Single(response.Headers.GetValues("ActionSelection"));
|
||||
var result = JsonConvert.DeserializeObject<ActionSelectionResult>(data);
|
||||
|
||||
//Assert
|
||||
Assert.Equal(HttpStatusCode.OK, response.StatusCode);
|
||||
|
|
@ -419,16 +419,16 @@ namespace Microsoft.AspNet.Mvc.FunctionalTests
|
|||
public async Task LegacyActionSelection_OverloadedAction_Parameter_Casing(string httpMethod, string requestUrl, string expectedActionName)
|
||||
{
|
||||
// Arrange
|
||||
var server = TestServer.Create(_services, _app);
|
||||
var server = TestServer.Create(_provider, _app);
|
||||
var client = server.CreateClient();
|
||||
|
||||
var request = new HttpRequestMessage(new HttpMethod(httpMethod), "http://localhost/" + requestUrl);
|
||||
|
||||
// Act
|
||||
var response = await client.SendAsync(request);
|
||||
var body = await response.Content.ReadAsStringAsync();
|
||||
|
||||
var result = JsonConvert.DeserializeObject<ActionSelectionResult>(body);
|
||||
var data = Assert.Single(response.Headers.GetValues("ActionSelection"));
|
||||
var result = JsonConvert.DeserializeObject<ActionSelectionResult>(data);
|
||||
|
||||
//Assert
|
||||
Assert.Equal(HttpStatusCode.OK, response.StatusCode);
|
||||
|
|
@ -446,16 +446,16 @@ namespace Microsoft.AspNet.Mvc.FunctionalTests
|
|||
public async Task LegacyActionSelection_RouteWithActionName(string httpMethod, string requestUrl, string expectedActionName)
|
||||
{
|
||||
// Arrange
|
||||
var server = TestServer.Create(_services, _app);
|
||||
var server = TestServer.Create(_provider, _app);
|
||||
var client = server.CreateClient();
|
||||
|
||||
var request = new HttpRequestMessage(new HttpMethod(httpMethod), "http://localhost/" + requestUrl);
|
||||
|
||||
// Act
|
||||
var response = await client.SendAsync(request);
|
||||
var body = await response.Content.ReadAsStringAsync();
|
||||
|
||||
var result = JsonConvert.DeserializeObject<ActionSelectionResult>(body);
|
||||
var data = Assert.Single(response.Headers.GetValues("ActionSelection"));
|
||||
var result = JsonConvert.DeserializeObject<ActionSelectionResult>(data);
|
||||
|
||||
//Assert
|
||||
Assert.Equal(HttpStatusCode.OK, response.StatusCode);
|
||||
|
|
@ -473,16 +473,16 @@ namespace Microsoft.AspNet.Mvc.FunctionalTests
|
|||
public async Task LegacyActionSelection_RouteWithActionName_Casing(string httpMethod, string requestUrl, string expectedActionName)
|
||||
{
|
||||
// Arrange
|
||||
var server = TestServer.Create(_services, _app);
|
||||
var server = TestServer.Create(_provider, _app);
|
||||
var client = server.CreateClient();
|
||||
|
||||
var request = new HttpRequestMessage(new HttpMethod(httpMethod), "http://localhost/" + requestUrl);
|
||||
|
||||
// Act
|
||||
var response = await client.SendAsync(request);
|
||||
var body = await response.Content.ReadAsStringAsync();
|
||||
|
||||
var result = JsonConvert.DeserializeObject<ActionSelectionResult>(body);
|
||||
var data = Assert.Single(response.Headers.GetValues("ActionSelection"));
|
||||
var result = JsonConvert.DeserializeObject<ActionSelectionResult>(data);
|
||||
|
||||
//Assert
|
||||
Assert.Equal(HttpStatusCode.OK, response.StatusCode);
|
||||
|
|
@ -498,16 +498,16 @@ namespace Microsoft.AspNet.Mvc.FunctionalTests
|
|||
public async Task LegacyActionSelection_RouteWithoutActionName(string httpMethod, string requestUrl, string expectedActionName)
|
||||
{
|
||||
// Arrange
|
||||
var server = TestServer.Create(_services, _app);
|
||||
var server = TestServer.Create(_provider, _app);
|
||||
var client = server.CreateClient();
|
||||
|
||||
var request = new HttpRequestMessage(new HttpMethod(httpMethod), "http://localhost/" + requestUrl);
|
||||
|
||||
// Act
|
||||
var response = await client.SendAsync(request);
|
||||
var body = await response.Content.ReadAsStringAsync();
|
||||
|
||||
var result = JsonConvert.DeserializeObject<ActionSelectionResult>(body);
|
||||
var data = Assert.Single(response.Headers.GetValues("ActionSelection"));
|
||||
var result = JsonConvert.DeserializeObject<ActionSelectionResult>(data);
|
||||
|
||||
//Assert
|
||||
Assert.Equal(HttpStatusCode.OK, response.StatusCode);
|
||||
|
|
@ -526,16 +526,16 @@ namespace Microsoft.AspNet.Mvc.FunctionalTests
|
|||
public async Task LegacyActionSelection_ModelBindingParameterAttribute_AreAppliedWhenSelectingActions(string httpMethod, string requestUrl, string expectedActionName)
|
||||
{
|
||||
// Arrange
|
||||
var server = TestServer.Create(_services, _app);
|
||||
var server = TestServer.Create(_provider, _app);
|
||||
var client = server.CreateClient();
|
||||
|
||||
var request = new HttpRequestMessage(new HttpMethod(httpMethod), "http://localhost/" + requestUrl);
|
||||
|
||||
// Act
|
||||
var response = await client.SendAsync(request);
|
||||
var body = await response.Content.ReadAsStringAsync();
|
||||
|
||||
var result = JsonConvert.DeserializeObject<ActionSelectionResult>(body);
|
||||
var data = Assert.Single(response.Headers.GetValues("ActionSelection"));
|
||||
var result = JsonConvert.DeserializeObject<ActionSelectionResult>(data);
|
||||
|
||||
//Assert
|
||||
Assert.Equal(HttpStatusCode.OK, response.StatusCode);
|
||||
|
|
@ -550,16 +550,16 @@ namespace Microsoft.AspNet.Mvc.FunctionalTests
|
|||
public async Task LegacyActionSelection_ActionsThatHaveSubsetOfRouteParameters_AreConsideredForSelection(string httpMethod, string requestUrl, string expectedActionName)
|
||||
{
|
||||
// Arrange
|
||||
var server = TestServer.Create(_services, _app);
|
||||
var server = TestServer.Create(_provider, _app);
|
||||
var client = server.CreateClient();
|
||||
|
||||
var request = new HttpRequestMessage(new HttpMethod(httpMethod), "http://localhost/" + requestUrl);
|
||||
|
||||
// Act
|
||||
var response = await client.SendAsync(request);
|
||||
var body = await response.Content.ReadAsStringAsync();
|
||||
|
||||
var result = JsonConvert.DeserializeObject<ActionSelectionResult>(body);
|
||||
var data = Assert.Single(response.Headers.GetValues("ActionSelection"));
|
||||
var result = JsonConvert.DeserializeObject<ActionSelectionResult>(data);
|
||||
|
||||
//Assert
|
||||
Assert.Equal(HttpStatusCode.OK, response.StatusCode);
|
||||
|
|
@ -572,7 +572,7 @@ namespace Microsoft.AspNet.Mvc.FunctionalTests
|
|||
public async Task LegacyActionSelection_RequestToAmbiguousAction_OnDefaultRoute()
|
||||
{
|
||||
// Arrange
|
||||
var server = TestServer.Create(_services, _app);
|
||||
var server = TestServer.Create(_provider, _app);
|
||||
var client = server.CreateClient();
|
||||
|
||||
var request = new HttpRequestMessage(new HttpMethod("POST"), "http://localhost/api/Admin/Test?name=mario");
|
||||
|
|
@ -589,16 +589,16 @@ namespace Microsoft.AspNet.Mvc.FunctionalTests
|
|||
public async Task LegacyActionSelection_SelectAction_ReturnsActionDescriptor_ForEnumParameterOverloads(string httpMethod, string requestUrl, string expectedActionName)
|
||||
{
|
||||
// Arrange
|
||||
var server = TestServer.Create(_services, _app);
|
||||
var server = TestServer.Create(_provider, _app);
|
||||
var client = server.CreateClient();
|
||||
|
||||
var request = new HttpRequestMessage(new HttpMethod(httpMethod), "http://localhost/" + requestUrl);
|
||||
|
||||
// Act
|
||||
var response = await client.SendAsync(request);
|
||||
var body = await response.Content.ReadAsStringAsync();
|
||||
|
||||
var result = JsonConvert.DeserializeObject<ActionSelectionResult>(body);
|
||||
var data = Assert.Single(response.Headers.GetValues("ActionSelection"));
|
||||
var result = JsonConvert.DeserializeObject<ActionSelectionResult>(data);
|
||||
|
||||
//Assert
|
||||
Assert.Equal(HttpStatusCode.OK, response.StatusCode);
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||
|
||||
using Microsoft.AspNet.Mvc;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace WebApiCompatShimWebSite
|
||||
{
|
||||
|
|
@ -10,11 +11,18 @@ namespace WebApiCompatShimWebSite
|
|||
public override void OnActionExecuted(ActionExecutedContext context)
|
||||
{
|
||||
var action = (ControllerActionDescriptor)context.ActionDescriptor;
|
||||
context.Result = new JsonResult(new
|
||||
{
|
||||
ActionName = action.Name,
|
||||
ControllerName = action.ControllerName
|
||||
});
|
||||
context.HttpContext.Response.Headers.Add(
|
||||
"ActionSelection",
|
||||
new string[]
|
||||
{
|
||||
JsonConvert.SerializeObject(new
|
||||
{
|
||||
ActionName = action.Name,
|
||||
ControllerName = action.ControllerName
|
||||
})
|
||||
});
|
||||
|
||||
context.Result = new HttpStatusCodeResult(200);
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue