public HeaderPropagationMiddlewareTest()
 {
     Context       = new DefaultHttpContext();
     Next          = ctx => Task.CompletedTask;
     Configuration = new HeaderPropagationOptions();
     State         = new HeaderPropagationValues();
     Middleware    = new HeaderPropagationMiddleware(Next,
                                                     new OptionsWrapper <HeaderPropagationOptions>(Configuration),
                                                     State);
 }
コード例 #2
0
    /// <summary>
    /// Initializes a new instance of <see cref="HeaderPropagationMiddleware"/>.
    /// </summary>
    /// <param name="next">The next middleware in the pipeline.</param>
    /// <param name="options">The <see cref="IOptions{HeaderPropagationOptions}"/>.</param>
    /// <param name="values">
    /// The <see cref="HeaderPropagationValues"/> that stores the request headers to be propagated in an <see cref="System.Threading.AsyncLocal{T}"/>
    /// </param>
    public HeaderPropagationMiddleware(RequestDelegate next, IOptions <HeaderPropagationOptions> options, HeaderPropagationValues values)
    {
        _next = next ?? throw new ArgumentNullException(nameof(next));

        if (options == null)
        {
            throw new ArgumentNullException(nameof(options));
        }
        _options = options.Value;

        _values = values ?? throw new ArgumentNullException(nameof(values));
    }
コード例 #3
0
        public HeaderPropagationMessageHandlerTest()
        {
            Handler = new SimpleHandler();

            State         = new HeaderPropagationValues();
            Configuration = new HeaderPropagationOptions();

            var headerPropagationMessageHandler =
                new HeaderPropagationMessageHandler(Options.Create(Configuration), State)
            {
                InnerHandler = Handler
            };

            Client = new HttpClient(headerPropagationMessageHandler)
            {
                BaseAddress = new Uri("http://example.com")
            };
        }
コード例 #4
0
        public HeaderPropagationMessageHandlerTest()
        {
            Handler = new SimpleHandler();

            State         = new HeaderPropagationValues();
            State.Headers = new Dictionary <string, StringValues>(StringComparer.OrdinalIgnoreCase);

            Configuration = new HeaderPropagationOptions();

            var headerPropagationMessageHandler =
                new HeaderPropagationMessageHandler(Options.Create(Configuration), State)
            {
                InnerHandler = Handler
            };

            Client = new HttpClient(headerPropagationMessageHandler)
            {
                BaseAddress = new Uri("http://example.com")
            };
        }
コード例 #5
0
 /// <summary>
 /// Creates a new instance of the <see cref="HeaderPropagationMessageHandler"/>.
 /// </summary>
 /// <param name="options">The options that define which headers are propagated.</param>
 /// <param name="values">The values of the headers to be propagated populated by the
 /// <see cref="HeaderPropagationMiddleware"/>.</param>
 public HeaderPropagationMessageHandler(HeaderPropagationMessageHandlerOptions options, HeaderPropagationValues values)
 {
     _options = options ?? throw new ArgumentNullException(nameof(options));
     _values  = values ?? throw new ArgumentNullException(nameof(values));
 }