protected override Task <HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) { var httpRequest = new WebApiHttpRequest(request, httpConfiguration); var accessRequest = new CorsAccessRequest(httpRequest); Task <HttpResponseMessage> task = accessRequest.IsCorsPreflight ? CreateCorsPreflightTask(request, cancellationToken) : CreateCorsSimpleTask(request, cancellationToken); return(task.ContinueWith <HttpResponseMessage>( innerTask => { var response = innerTask.Result; var accessResponse = corsConfiguration.Engine.CheckAccess(accessRequest); if (accessResponse != null) { var httpResponse = new WebApiHttpResponse(response); accessResponse.WriteResponse(httpResponse); } return response; })); }
protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) { var httpRequest = new WebApiHttpRequest(request, httpConfiguration); var accessRequest = new CorsAccessRequest(httpRequest); Task<HttpResponseMessage> task = accessRequest.IsCorsPreflight ? CreateCorsPreflightTask(request, cancellationToken) : CreateCorsSimpleTask(request, cancellationToken); return task.ContinueWith<HttpResponseMessage>( innerTask => { var response = innerTask.Result; var accessResponse = corsConfiguration.Engine.CheckAccess(accessRequest); if (accessResponse != null) { var httpResponse = new WebApiHttpResponse(response); accessResponse.WriteResponse(httpResponse); } return response; }); }
void PerformCorsCheck() { var ctx = System.Web.HttpContext.Current; var httpRequest = new HttpContextRequest(new HttpRequestWrapper(ctx.Request)); var accessRequest = new CorsAccessRequest(httpRequest); if (accessRequest.IsCors) { var accessResponse = UrlBasedCorsConfiguration.Configuration.Engine.CheckAccess(accessRequest); if (accessResponse != null) { var response = ctx.Response; var httpResponse = new HttpContextResponse(new HttpResponseWrapper(response)); accessResponse.WriteResponse(httpResponse); } if (accessRequest.IsCorsPreflight) { ctx.Response.StatusCode = 200; ctx.Response.End(); } } }
protected virtual void PerformCorsCheck() { var ctx = System.Web.HttpContext.Current; var httpRequest = new MvcRequest(new HttpRequestWrapper(ctx.Request)); var accessRequest = new CorsAccessRequest(httpRequest); if (accessRequest.IsCors) { var accessResponse = MvcCorsConfiguration.Configuration.Engine.CheckAccess(accessRequest); if (accessResponse != null) { var response = ctx.Response; var httpResponse = new HttpContextResponse(new HttpResponseWrapper(response)); accessResponse.WriteResponse(httpResponse); } if (accessRequest.IsCorsPreflight) { ctx.Response.StatusCode = 200; ctx.Response.End(); } } }