public static void DebugPrintResponse(HttpServer.IHttpResponse response) { // TODO this should be precomputed a single time and reused var f = response.GetType().GetField("_headers", BindingFlags.Instance | BindingFlags.NonPublic); var headers = (NameValueCollection)f.GetValue(response); Console.WriteLine(response.ProtocolVersion + " " + response.Status.ToString()); Console.WriteLine(response.ContentType); foreach (string headerKey in headers.Keys) { Console.WriteLine(headerKey + ": " + headers[headerKey]); } Console.WriteLine("-----------------------------"); }
public static IHttpClientContext GetContext(HttpServer.IHttpResponse response) { var f = response.GetType().GetField("_context", BindingFlags.Instance | BindingFlags.NonPublic); return((IHttpClientContext)f.GetValue(response)); }