コード例 #1
0
        public Task Invoke(HttpContext context, IProxyRequestService proxyRequestService)
        {
            if (context == null)
            {
                throw new ArgumentNullException(nameof(context));
            }

            var uri = new Uri(UriHelper.BuildAbsolute(_options.Scheme, _options.Host, _options.PathBase, context.Request.Path, context.Request.QueryString.Add(_options.AppendQuery)));

            return(proxyRequestService.ProxyRequest(context, uri));
        }
コード例 #2
0
        public async Task Invoke(HttpContext context, IApiProxyContextService apiProxyContextService, IProxyRequestService proxyRequestService, IApiProxyUriResolver apiProxyUriResolver)
        {
            if (context == null)
            {
                throw new ArgumentNullException(nameof(context));
            }

            var apiProxyContext = apiProxyContextService.Get(context);

            var outboundUri = apiProxyUriResolver.ResolveOutboundUri(context, _apiProxy);

            apiProxyContext.Response.ApiProxyResponse = await proxyRequestService.ProxyRequest(context, outboundUri);

            apiProxyContext.Response.HasResponse = true;
        }