public void WriteLeadingHeaders()
        {
            // Note that WriteLeadingHeaders should NOT write this header in WriteLeadingHeaders
            var headers = new HttpHeaders {
                { "x-test", "my-value" }
            };
            var bytes   = Encoding.UTF8.GetBytes("{}"); // length = 2
            var content = new BufferContent(new ArraySegment <byte>(bytes));
            var request = new HttpRequest(
                verb: "PATCH",
                host: "my-host.com",
                path: "/some/path",
                headers,
                content);

            var helper = new TraceAgentHttpHeaderHelper();

            var tracerVersion = TracerConstants.AssemblyVersion;
            var lang          = FrameworkDescription.Instance.Name;
            var fxVersion     = FrameworkDescription.Instance.ProductVersion;

            var expected = "PATCH /some/path HTTP/1.1\r\nHost: my-host.com\r\nAccept-Encoding: identity\r\nContent-Length: 2\r\nDatadog-Meta-Lang: .NET\r\nDatadog-Meta-Tracer-Version: "
                           + tracerVersion + "\r\nx-datadog-tracing-enabled: false\r\nDatadog-Meta-Lang-Interpreter: "
                           + lang + "\r\nDatadog-Meta-Lang-Version: "
                           + fxVersion + "\r\nDatadog-Client-Computed-Top-Level: 1\r\n";

            var sb = new StringBuilder();

            using var textWriter = new StringWriter(sb);
            helper.WriteLeadingHeaders(request, textWriter);

            sb.ToString().Should().Be(expected);
        }
        public void WriteEndOfHeaders()
        {
            var helper   = new TraceAgentHttpHeaderHelper();
            var expected = "Content-Type: application/msgpack\r\n\r\n";

            var sb = new StringBuilder();

            using var textWriter = new StringWriter(sb);
            helper.WriteEndOfHeaders(textWriter);

            sb.ToString().Should().Be(expected);
        }
        public void WriteHeader()
        {
            var header   = new HttpHeaders.HttpHeader("my-key", "my-value");
            var helper   = new TraceAgentHttpHeaderHelper();
            var expected = "my-key: my-value\r\n";

            var sb = new StringBuilder();

            using var textWriter = new StringWriter(sb);
            helper.WriteHeader(textWriter, header);

            sb.ToString().Should().Be(expected);
        }