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"); }
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(); }
/// <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)); }