/// <summary> /// Reads the specified stream. /// </summary> /// <param name="stream">The stream.</param> /// <returns></returns> public static HttpResponse Read(Stream stream) { HttpResponse response = new HttpResponse(); StreamReader reader = new StreamReader(stream); // Status line string statusLine = reader.ReadLine(); // Remove HTTP int i = statusLine.IndexOf(' '); statusLine = statusLine.Substring(i + 1); // Get status code i = statusLine.IndexOf(' '); string statusCode = statusLine.Substring(0, i); response.StatusCode = int.Parse(statusCode); // Reason response.Reason = statusLine.Substring(i + 1); // Header string line = null; while (line != string.Empty) { line = reader.ReadLine(); } // Content while (!reader.EndOfStream) { line = reader.ReadLine(); response.Content += line; } reader.Close(); return response; }
/// <summary> /// Reads the specified stream. /// </summary> /// <param name="stream">The stream.</param> /// <returns></returns> public static HttpResponse Read(Stream stream) { FrameworkLogs.Network.Info("Reading a HTTP response"); HttpResponse response = new HttpResponse(); StreamReader reader = new StreamReader(stream); // Status line var statusLine = reader.ReadLine(); var elements = statusLine.Split(' '); response.StatusCode = int.Parse(elements[1]); response.Reason = elements[2]; // Header string line = null; while (line != string.Empty) { line = reader.ReadLine(); } // Content while (!reader.EndOfStream) { line = reader.ReadLine(); response.Content += line; } reader.Close(); FrameworkLogs.Network.Info("Response read"); FrameworkLogs.Network.Debug(response.StatusCode, response.Reason, response.Content); return response; }