public void AddCharSequencesCsvWithExistingHeader() { CombinedHttpHeaders headers = NewCombinedHttpHeaders(); headers.Add(HeaderName, HeaderValue.Three.AsList()); headers.Add(HeaderName, HeaderValue.Five.Subset(4)); AssertCsvValues(headers, HeaderValue.Five); }
public void GetAllDontCombineSetCookie() { CombinedHttpHeaders headers = NewCombinedHttpHeaders(); headers.Add(HttpHeaderNames.SetCookie, "a"); headers.Add(HttpHeaderNames.SetCookie, "b"); Assert.Equal(2, headers.GetAll(HttpHeaderNames.SetCookie).Count); Assert.Equal(new List <string>(new[] { "a", "b" }), headers.GetAll(HttpHeaderNames.SetCookie).Select(_ => _.ToString()).ToList()); }
public void AddCombinedHeadersWhenEmpty() { CombinedHttpHeaders headers = NewCombinedHttpHeaders(); CombinedHttpHeaders otherHeaders = NewCombinedHttpHeaders(); otherHeaders.Add(HeaderName, "a"); otherHeaders.Add(HeaderName, "b"); headers.Add(otherHeaders); Assert.Equal("a,b", headers.Get(HeaderName, null)?.ToString()); }
public void SetCombinedHeadersWhenNotEmpty() { CombinedHttpHeaders headers = NewCombinedHttpHeaders(); headers.Add(HeaderName, "a"); CombinedHttpHeaders otherHeaders = NewCombinedHttpHeaders(); otherHeaders.Add(HeaderName, "b"); otherHeaders.Add(HeaderName, "c"); headers.Set(otherHeaders); Assert.Equal("b,c", headers.Get(HeaderName, null)?.ToString()); }
public void AddUncombinedHeaders() { CombinedHttpHeaders headers = NewCombinedHttpHeaders(); headers.Add(HeaderName, "a"); var otherHeaders = new DefaultHttpHeaders(); otherHeaders.Add(HeaderName, "b"); otherHeaders.Add(HeaderName, "c"); headers.Add(otherHeaders); Assert.Equal("a,b,c", headers.Get(HeaderName, null)?.ToString()); }
public void DontCombineSetCookieHeaders() { CombinedHttpHeaders headers = NewCombinedHttpHeaders(); headers.Add(HttpHeaderNames.SetCookie, "a"); CombinedHttpHeaders otherHeaders = NewCombinedHttpHeaders(); otherHeaders.Add(HttpHeaderNames.SetCookie, "b"); otherHeaders.Add(HttpHeaderNames.SetCookie, "c"); headers.Add(otherHeaders); Assert.Equal(3, headers.GetAll(HttpHeaderNames.SetCookie).Count); }
public void DontCombineSetCookieHeadersRegardlessOfCase() { CombinedHttpHeaders headers = NewCombinedHttpHeaders(); headers.Add(AsciiString.Of("Set-Cookie"), "a"); CombinedHttpHeaders otherHeaders = NewCombinedHttpHeaders(); otherHeaders.Add(AsciiString.Of("set-cookie"), "b"); otherHeaders.Add(AsciiString.Of("SET-COOKIE"), "c"); headers.Add(otherHeaders); var list = headers.GetAll(HttpHeaderNames.SetCookie); Assert.Equal(3, headers.GetAll(HttpHeaderNames.SetCookie).Count); }
public void NonCombinableHeaderIterator() { CombinedHttpHeaders headers = NewCombinedHttpHeaders(); headers.Add(HttpHeaderNames.SetCookie, "c"); headers.Add(HttpHeaderNames.SetCookie, "b"); headers.Add(HttpHeaderNames.SetCookie, "a"); var strItr = headers.ValueCharSequenceIterator(HttpHeaderNames.SetCookie).ToList(); Assert.Equal(3, strItr.Count); Assert.Equal("a", strItr[0]); Assert.Equal("b", strItr[1]); Assert.Equal("c", strItr[2]); }
static void AddValues(CombinedHttpHeaders headers, params HeaderValue[] headerValues) { foreach (HeaderValue v in headerValues) { headers.Add(HeaderName, (StringCharSequence)v.ToString()); } }
static void AddObjectValues(CombinedHttpHeaders headers, params HeaderValue[] headerValues) { foreach (HeaderValue v in headerValues) { headers.Add(HeaderName, v.ToString()); } }
public void AddCharSequencesCsv() { CombinedHttpHeaders headers = NewCombinedHttpHeaders(); headers.Add(HeaderName, HeaderValue.Three.AsList()); AssertCsvValues(headers, HeaderValue.Three); }
public void AddIterableCsvSingleValue() { CombinedHttpHeaders headers = NewCombinedHttpHeaders(); headers.Add(HeaderName, HeaderValue.One.AsList()); AssertCsvValue(headers, HeaderValue.One); }
public void AddObjectsIterableCsv() { CombinedHttpHeaders headers = NewCombinedHttpHeaders(); headers.Add(HeaderName, HeaderValue.Three.AsList()); AssertCsvValues(headers, HeaderValue.Three); }
public void AddIterableCsvEmpty() { CombinedHttpHeaders headers = NewCombinedHttpHeaders(); headers.Add(HeaderName, new List <ICharSequence>()); Assert.Equal(0, headers.GetAll(HeaderName).Count); }
public void AddCharSequencesCsvWithValueContainingCommas() { CombinedHttpHeaders headers = NewCombinedHttpHeaders(); headers.Add(HeaderName, HeaderValue.Eight.Subset(6)); Assert.True(ContentEquals((StringCharSequence)HeaderValue.Eight.SubsetAsCsvString(6), headers.Get(HeaderName, null))); Assert.Equal(HeaderValue.Eight.Subset(6), headers.GetAll(HeaderName)); }
public void AddObjectsCsv() { CombinedHttpHeaders headers = NewCombinedHttpHeaders(); List <ICharSequence> list = HeaderValue.Three.AsList(); Assert.Equal(3, list.Count); headers.Add(HeaderName, list); AssertCsvValues(headers, HeaderValue.Three); }
public void AddCharSequencesCsvMultipleTimes() { CombinedHttpHeaders headers = NewCombinedHttpHeaders(); for (int i = 0; i < 5; ++i) { headers.Add(HeaderName, "value"); } Assert.True(ContentEquals((StringCharSequence)"value,value,value,value,value", headers.Get(HeaderName, null))); }
public void ValueIterator() { CombinedHttpHeaders headers = NewCombinedHttpHeaders(); headers.Set(HeaderName, new List <ICharSequence> { (StringCharSequence)"\ta", (StringCharSequence)" ", (StringCharSequence)" b ", (StringCharSequence)"\t \t" }); headers.Add(HeaderName, new List <ICharSequence> { (StringCharSequence)" c, d \t" }); var list = new List <ICharSequence>(headers.ValueCharSequenceIterator(new AsciiString("foo"))); Assert.Empty(list); AssertValueIterator(headers.ValueCharSequenceIterator(HeaderName)); }
public void OwsTrimming() { CombinedHttpHeaders headers = NewCombinedHttpHeaders(); headers.Set(HeaderName, new List <ICharSequence> { (StringCharSequence)"\ta", (StringCharSequence)" ", (StringCharSequence)" b ", (StringCharSequence)"\t \t" }); headers.Add(HeaderName, new List <ICharSequence> { (StringCharSequence)" c, d \t" }); var expected = new List <ICharSequence> { (StringCharSequence)"a", (StringCharSequence)"", (StringCharSequence)"b", (StringCharSequence)"", (StringCharSequence)"c, d" }; IList <ICharSequence> actual = headers.GetAll(HeaderName); Assert.True(expected.SequenceEqual(actual)); Assert.Equal("a,,b,,\"c, d\"", headers.Get(HeaderName, null)?.ToString()); Assert.True(headers.ContainsValue(HeaderName, (StringCharSequence)"a", true)); Assert.True(headers.ContainsValue(HeaderName, (StringCharSequence)" a ", true)); Assert.True(headers.ContainsValue(HeaderName, (StringCharSequence)"a", true)); Assert.False(headers.ContainsValue(HeaderName, (StringCharSequence)"a,b", true)); Assert.False(headers.ContainsValue(HeaderName, (StringCharSequence)" c, d ", true)); Assert.False(headers.ContainsValue(HeaderName, (StringCharSequence)"c, d", true)); Assert.True(headers.ContainsValue(HeaderName, (StringCharSequence)" c ", true)); Assert.True(headers.ContainsValue(HeaderName, (StringCharSequence)"d", true)); Assert.True(headers.ContainsValue(HeaderName, (StringCharSequence)"\t", true)); Assert.True(headers.ContainsValue(HeaderName, (StringCharSequence)"", true)); Assert.False(headers.ContainsValue(HeaderName, (StringCharSequence)"e", true)); CombinedHttpHeaders copiedHeaders = NewCombinedHttpHeaders(); copiedHeaders.Add(headers); Assert.Equal(new List <ICharSequence> { (StringCharSequence)"a", (StringCharSequence)"", (StringCharSequence)"b", (StringCharSequence)"", (StringCharSequence)"c, d" }, copiedHeaders.GetAll(HeaderName)); }