Пример #1
0
        private static JObject ToJObject(TracingHeaders headers)
        {
            var jobj = new JObject();

            foreach (var keyValuePair in headers)
            {
                jobj[keyValuePair.Key] = keyValuePair.Value;
            }
            return(jobj);
        }
        public static TracingHeaders GetInjectHeaders(this ITracer tracer)
        {
            if (tracer != null && tracer.ActiveSpan != null)
            {
                var headers = new TracingHeaders();
                tracer.Inject(tracer.ActiveSpan.Context, BuiltinFormats.TextMap, new BrokerHeadersInjectAdapter(headers));

                return(headers);
            }

            return(null);
        }
Пример #3
0
        public void TryExtractTracingHeadersTest()
        {
            //Arrange
            var            json               = "{\"TracingHeaders\":{\"key\":\"value\"}}";
            TracingHeaders header             = null;
            string         removedHeadersJson = "";

            //Act
            var result = Helper.TryExtractTracingHeaders(json, out header, out removedHeadersJson);

            //Assert
            Assert.True(result);
            Assert.NotNull(header);
            Assert.Single(header);
            Assert.Equal("{}", removedHeadersJson);
        }
Пример #4
0
        public void AddTracingHeaderPropertyTest()
        {
            //Arrange
            var json   = "{}";
            var header = new TracingHeaders {
                { "key", "value" }
            };

            //Act
            var result = Helper.AddTracingHeaderProperty(json, header);

            //Assert
            var expected = "{\"TracingHeaders\":{\"key\":\"value\"}}";

            Assert.Equal(expected, result);
        }
Пример #5
0
        public static bool TryExtractTracingHeaders(string json, out TracingHeaders headers, out string removedHeadersJson)
        {
            var jObj   = JObject.Parse(json);
            var jToken = jObj[nameof(TracingHeaders)];

            if (jToken != null)
            {
                headers = new TracingHeaders();
                foreach (var item in jToken.ToObject <Dictionary <string, string> >())
                {
                    headers.Add(item.Key, item.Value);
                }

                jObj.Remove(nameof(TracingHeaders));
                removedHeadersJson = jObj.ToString();
                return(true);
            }

            headers            = null;
            removedHeadersJson = null;
            return(false);
        }
 public RequestHeadersExtractAdapter(TracingHeaders headers)
 {
     _headers = headers ?? throw new ArgumentNullException(nameof(headers));
 }
Пример #7
0
 /// <summary>
 /// Initializes a new instance of the <see cref="RestTransportCarrierHeaderCollection" /> class.
 /// </summary>
 /// <param name="tracingHeaders">The tracing headers.</param>
 public RestTransportCarrierHeaderCollection(TracingHeaders tracingHeaders)
 {
     _tracingHeaders = tracingHeaders;
 }
Пример #8
0
        public static string AddTracingHeaderProperty(string json, TracingHeaders headers)
        {
            var jObject = ToJObject(headers);

            return(AddJsonProperty(json, nameof(TracingHeaders), jObject));
        }
 public RestRequestCarrierHeaderCollection(TracingHeaders tracingHeaders)
 {
     _tracingHeaders = tracingHeaders;
 }
Пример #10
0
 public BrokerHeadersInjectAdapter(TracingHeaders headers)
 {
     _headers = headers ?? throw new ArgumentNullException(nameof(headers));
 }
 public CapCarrierHeaderCollection(TracingHeaders tracingHeaders)
 {
     _tracingHeaders = tracingHeaders;
 }