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; })); }