public void ReadHeader_KnownHeaderName_SameKnownHeaderNameObjectReturned() { char[] array = "Server: Apache".ToCharArray(); var reader = new WinHttpResponseHeaderReader(array, 0, array.Length); string name; string value; Assert.True(reader.ReadHeader(out name, out value)); Assert.Same(HttpKnownHeaderNames.Server, name); }
public void ReadHeader_WithStatusLine_CanSkipStatusLineAndReadHeader() { char[] array = "HTTP/1.0 200 OK\r\nServer: Apache".ToCharArray(); var reader = new WinHttpResponseHeaderReader(array, 0, array.Length); Assert.True(reader.ReadLine()); string name; string value; Assert.True(reader.ReadHeader(out name, out value)); Assert.Equal("Server", name); Assert.Equal("Apache", value); }
public void ReadHeader_KnownHeaderValue_SameHeaderValueObjectReturned(string header) { char[] array = (header + "\r\n" + header).ToCharArray(); var reader = new WinHttpResponseHeaderReader(array, 0, array.Length); string name1; string value1; Assert.True(reader.ReadHeader(out name1, out value1)); string name2; string value2; Assert.True(reader.ReadHeader(out name2, out value2)); Assert.Same(value1, value2); }
public void ReadHeader_VariousInputs_MatchesExpectedBehavior(string raw, KeyValuePair <string, string>[] expectedHeaders) { char[] array = raw.ToCharArray(); var reader = new WinHttpResponseHeaderReader(array, 0, array.Length); string name; string value; for (int i = 0; i < expectedHeaders.Length; i++) { string expectedName = expectedHeaders[i].Key; string expectedValue = expectedHeaders[i].Value; Assert.True(reader.ReadHeader(out name, out value)); Assert.Equal(expectedName, name); Assert.Equal(expectedValue, value); } Assert.False(reader.ReadHeader(out name, out value)); Assert.Null(name); Assert.Null(value); }
public void ReadHeader_VariousInputs_MatchesExpectedBehavior(string raw, KeyValuePair<string, string>[] expectedHeaders) { char[] array = raw.ToCharArray(); var reader = new WinHttpResponseHeaderReader(array, 0, array.Length); string name; string value; for (int i = 0; i < expectedHeaders.Length; i++) { string expectedName = expectedHeaders[i].Key; string expectedValue = expectedHeaders[i].Value; Assert.True(reader.ReadHeader(out name, out value)); Assert.Equal(expectedName, name); Assert.Equal(expectedValue, value); } Assert.False(reader.ReadHeader(out name, out value)); Assert.Null(name); Assert.Null(value); }