public HttpStreamRouteObject(ISocketConnection socketConnection, HttpStreamRouter httpStreamRouter) { _socketConnection = socketConnection; _httpStreamRouter = httpStreamRouter; _socketConnection.DataReceived += SocketConnectionOnDataReceived; _httpRequestStream = new HttpRequestStream(); }
public void HttpRequestStream_Reads_Single_Header() { const string httpMessage = "GET http://localhost:9000/ HTTP/1.1\x0d\x0aTest:OK\x0d\x0a\x0d\x0a"; var httpMessageBytes = Encoding.UTF8.GetBytes(httpMessage); var httpStream = new HttpRequestStream(); httpStream.Write(httpMessageBytes, 0, httpMessageBytes.Length); Assert.AreEqual(1, httpStream.Headers.Count); }
public void HttpRequestStream_Parses_Version() { const string methodAndUri = "bla bla Version"; var methodAndUriBytes = Encoding.UTF8.GetBytes(methodAndUri); var httpStream = new HttpRequestStream(); httpStream.Write(methodAndUriBytes, 0, methodAndUriBytes.Length); Assert.AreEqual("Version", httpStream.HttpVersion); }
public void HttpRequestStream_Parses_Method() { const string methodAndUri = "Method"; var methodAndUriBytes = Encoding.UTF8.GetBytes(methodAndUri); var httpStream = new HttpRequestStream(); httpStream.Write(methodAndUriBytes, 0, methodAndUriBytes.Length); Assert.AreEqual("Method", httpStream.Method); }
public void HttpRequestStream_Parses_Single_Header() { const string httpMessage = "GET http://localhost:9000/ HTTP/1.1\x0d\x0aTest:OK\x0d\x0a\x0d\x0a"; var httpMessageBytes = Encoding.UTF8.GetBytes(httpMessage); var httpStream = new HttpRequestStream(); httpStream.Write(httpMessageBytes, 0, httpMessageBytes.Length); Assert.IsTrue(httpStream.Headers.ContainsKey("Test")); Assert.AreEqual("OK", httpStream.Headers["Test"]); }
public void HttpRequestStream_Skips_No_Data() { const string methodAndUri = ""; var methodAndUriBytes = Encoding.UTF8.GetBytes(methodAndUri); var httpStream = new HttpRequestStream(); httpStream.Write(methodAndUriBytes, 0, methodAndUriBytes.Length); Assert.AreEqual(null, httpStream.Method); Assert.AreEqual(null, httpStream.Uri); Assert.AreEqual(null, httpStream.HttpVersion); }
public void HttpRequestStream_Streams_Body_On_Read() { const string httpMessage = "GET http://localhost:9000/ HTTP/1.1\x0d\x0a\x0d\x0aThis is the body"; var httpMessageBytes = Encoding.UTF8.GetBytes(httpMessage); var httpStream = new HttpRequestStream(); httpStream.Write(httpMessageBytes, 0, httpMessageBytes.Length); var bodyBuffer = new byte[1024]; httpStream.Position = 0; var bytesRead = httpStream.Read(bodyBuffer, 0, bodyBuffer.Length); var body = Encoding.UTF8.GetString(bodyBuffer, 0, bytesRead); Assert.AreEqual("This is the body", body); }