private IActionResult Dispatch(string forwardUrl, HttpRequest incomingRequest, HeaderDictionary additionalHeaders = null) { var proxyResult = _proxy.Dispatch(forwardUrl, Request, additionalHeaders).Result; if (proxyResult.Success) { foreach (var h in proxyResult.Headers) { if (h.Key != "Set-Cookie") { Response.Headers[h.Key] = h.Value; } } foreach (var cookie in proxyResult.Cookies) { var option = new CookieOptions() { Domain = cookie.Domain, Path = cookie.Path, }; if (cookie.Expires > DateTime.MinValue) { option.Expires = cookie.Expires; } Response.Cookies.Append(cookie.Name, cookie.Value, option); } return(new ProxyResult(proxyResult.Content, proxyResult.ContentType, proxyResult.HTTPStatus));; } else { return(StatusCode(proxyResult.HTTPStatus)); } }