public async Task OnRequestAsync() { var apiAction = new ApiActionDescriptor(typeof(ITestApi).GetMethod("PostAsync")); var context = new TestRequestContext(apiAction, string.Empty); context.HttpContext.RequestMessage.RequestUri = new Uri("http://www.webapi.com/"); context.HttpContext.RequestMessage.Method = HttpMethod.Post; var attr = new HttpOptionsAttribute(); await attr.OnRequestAsync(context); Assert.True(context.HttpContext.RequestMessage.Method == HttpMethod.Options); var attr2 = new HttpOptionsAttribute("/login"); await attr2.OnRequestAsync(context); Assert.True(context.HttpContext.RequestMessage.Method == HttpMethod.Options); Assert.True(context.HttpContext.RequestMessage.RequestUri == new Uri("http://www.webapi.com/login")); var attr3 = new HttpOptionsAttribute("http://www.baidu.com"); await attr3.OnRequestAsync(context); Assert.True(context.HttpContext.RequestMessage.Method == HttpMethod.Options); Assert.True(context.HttpContext.RequestMessage.RequestUri == new Uri("http://www.baidu.com")); }
public async Task BeforeRequestAsyncTest() { var context = new ApiActionContext { RequestMessage = new HttpApiRequestMessage { RequestUri = new Uri("http://www.webapi.com/") }, ApiActionDescriptor = ApiDescriptorCache.GetApiActionDescriptor(typeof(IMyApi).GetMethod("PostAsync")) }; var attr = new HttpOptionsAttribute(); await attr.BeforeRequestAsync(context); Assert.True(context.RequestMessage.Method == HttpMethod.Options); var attr2 = new HttpOptionsAttribute("/login"); await attr2.BeforeRequestAsync(context); Assert.True(context.RequestMessage.Method == HttpMethod.Options); Assert.True(context.RequestMessage.RequestUri == new Uri("http://www.webapi.com/login")); var attr3 = new HttpOptionsAttribute("http://www.baidu.com"); await attr3.BeforeRequestAsync(context); Assert.True(context.RequestMessage.Method == HttpMethod.Options); Assert.True(context.RequestMessage.RequestUri == new Uri("http://www.baidu.com")); }
public async Task BeforeRequestAsyncTest() { var context = new TestActionContext( httpApi: null, httpApiConfig: new HttpApiConfig(), apiActionDescriptor: new ApiActionDescriptor(typeof(IMyApi).GetMethod("PostAsync"))); context.RequestMessage.RequestUri = new Uri("http://www.webapi.com/"); context.RequestMessage.Method = HttpMethod.Post; var attr = new HttpOptionsAttribute(); await attr.BeforeRequestAsync(context); Assert.True(context.RequestMessage.Method == HttpMethod.Options); var attr2 = new HttpOptionsAttribute("/login"); await attr2.BeforeRequestAsync(context); Assert.True(context.RequestMessage.Method == HttpMethod.Options); Assert.True(context.RequestMessage.RequestUri == new Uri("http://www.webapi.com/login")); var attr3 = new HttpOptionsAttribute("http://www.baidu.com"); await attr3.BeforeRequestAsync(context); Assert.True(context.RequestMessage.Method == HttpMethod.Options); Assert.True(context.RequestMessage.RequestUri == new Uri("http://www.baidu.com")); }