Exemplo n.º 1
0
        public void AddInvalidAndValid()
        {
            HttpRequestMessage message = new HttpRequestMessage();
            HttpRequestHeaders headers = message.Headers;

            headers.TryAddWithoutValidation("User-Agent", "user,agent/1.0");
            headers.TryAddWithoutValidation("User-Agent", "agent2/2.0");

            Assert.AreEqual(1, headers.UserAgent.Count, "#1");
#if !__WATCHOS__
            if (HttpClientTestHelpers.UsingSocketsHandler)
#endif
            Assert.AreEqual("agent2/2.0 user,agent/1.0", headers.UserAgent.ToString(), "#2");
#if !__WATCHOS__
            else
            {
                Assert.AreEqual("agent2/2.0user,agent/1.0", headers.UserAgent.ToString(), "#2");
            }
#endif

            Assert.AreEqual("User-Agent: agent2/2.0 user,agent/1.0\r\n", headers.ToString(), "#3");

            headers.UserAgent.Clear();
            Assert.AreEqual("", headers.UserAgent.ToString(), "#4");
            Assert.AreEqual("", headers.ToString(), "#5");
        }
Exemplo n.º 2
0
        public void AddInvalid()
        {
            HttpRequestMessage message = new HttpRequestMessage();
            HttpRequestHeaders headers = message.Headers;

            headers.TryAddWithoutValidation("User-Agent", "user,agent/1.0");

            Assert.AreEqual(0, headers.UserAgent.Count, "#1");
            Assert.AreEqual("user,agent/1.0", headers.UserAgent.ToString(), "#2");

            Assert.AreEqual("User-Agent: user,agent/1.0\r\n", headers.ToString(), "#3");

            headers.UserAgent.Clear();
            Assert.AreEqual("", headers.UserAgent.ToString(), "#4");
            Assert.AreEqual("", headers.ToString(), "#5");
        }
        private static void WriteHeaders(HttpRequestHeaders httpRequestHeaders, StringWriter writer)
        {
            var rawHeaders = httpRequestHeaders.ToString();

            writer.Write(rawHeaders);
            //foreach (var headersByName in httpRequestHeaders)
            //{
            //    foreach (var headerValue in headersByName.Value)
            //    {
            //        writer.WriteLine(string.Format("{0}: {1}", headersByName.Key, headerValue));
            //    }
            //}
            writer.WriteLine();
        }
Exemplo n.º 4
0
        /// <summary>
        /// Replaces sensitive data with a dummy data.
        /// </summary>
        /// <param name="headers"></param>
        /// <returns></returns>
        private static string ObfuscateSensitiveData(HttpRequestHeaders headers)
        {
            const string defaultHeaderSeparator = "\r\n";

            var tokens          = headers.ToString().Split(defaultHeaderSeparator.ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
            var filteredHeaders = tokens.Select(header =>
            {
                // Replace the access token
                if (header.StartsWith("Authorization: Bearer "))
                {
                    return("Authorization: Bearer xxxxxxxxx");
                }
                return(header);
            });

            return(string.Join(defaultHeaderSeparator, filteredHeaders));
        }