Ejemplo n.º 1
0
        RequestDelegate IHttpPipelineAccessPoint <RequestDelegate> .Combine(IHttpPipelineHandler pipeline)
        {
            if (pipeline == null)
            {
                throw new ArgumentNullException(nameof(pipeline));
            }

            return(async context =>
            {
                var request = await CreateRequest(context);


                HttpResponseMessage response;
                try
                {
                    response = await pipeline.ProcessRequest(request, context.RequestAborted);
                }
                catch (OperationCanceledException)
                {
                    throw;
                }
                catch (Exception e)
                {
                    await _exceptionHandler.HandleExceptionAsync(context, e);

                    return;
                }

                await ApplyResponse(context, response);
            });
        }
Ejemplo n.º 2
0
            public async ValueTask <HttpResponseMessage> ProcessRequest(HttpRequestMessage request, CancellationToken cancellationToken)
            {
                var activity = (Activity)null;

                if (_listener.IsEnabled())
                {
                    activity = new Activity(request.RequestUri.AbsoluteUri);
                }


                if (activity != null)
                {
                    _listener.StartActivity(activity, request);
                }

                var response = await _handler.ProcessRequest(request, cancellationToken);

                if (activity != null)
                {
                    _listener.StopActivity(activity, response);
                }


                return(response);
            }
Ejemplo n.º 3
0
        RequestDelegate IHttpPipelineAccessPoint <RequestDelegate> .Combine(IHttpPipelineHandler pipeline)
        {
            if (pipeline == null)
            {
                throw new ArgumentNullException(nameof(pipeline));
            }

            return(async context =>
            {
                var request = await CreateRequest(context);

                var response = await pipeline.ProcessRequest(request);

                await ApplyResponse(context, response);
            });
        }
Ejemplo n.º 4
0
 /// <summary>
 /// 派生类重写此方法处理请求
 /// </summary>
 /// <param name="request">请求信息</param>
 /// <param name="downstream">downstream pipeline request handler</param>
 /// <returns>响应信息</returns>
 protected virtual ValueTask <HttpResponseMessage> ProcessRequest(HttpRequestMessage request, IHttpPipelineHandler downstream)
 {
     return(downstream.ProcessRequest(request));
 }
Ejemplo n.º 5
0
 protected override ValueTask <HttpResponseMessage> ProcessRequest(HttpRequestMessage request, IHttpPipelineHandler downstream, CancellationToken cancellationToken)
 {
     request = _func(request);
     return(downstream.ProcessRequest(request, cancellationToken));
 }
Ejemplo n.º 6
0
 public ValueTask <HttpResponseMessage> ProcessRequest(HttpRequestMessage request)
 {
     request = _rewriter.Rewrite(request);
     return(_handler.ProcessRequest(request));
 }
Ejemplo n.º 7
0
 public ValueTask <HttpResponseMessage> ProcessRequest(HttpRequestMessage request, CancellationToken cancellationToken)
 {
     request = _rewriter.Rewrite(request);
     return(_handler.ProcessRequest(request, cancellationToken));
 }