//
using System.Net.Http.Headers;
+using System.Text;
namespace System.Net.Http
{
string reasonPhrase;
HttpStatusCode statusCode;
Version version;
+ bool disposed;
public HttpResponseMessage ()
: this (HttpStatusCode.OK)
public string ReasonPhrase {
get {
- return reasonPhrase; // ?? HttpListener.GetStatusDescription (statusCode);
+ return reasonPhrase ?? HttpListenerResponseHelper.GetStatusDescription ((int) statusCode);
}
set {
reasonPhrase = value;
protected virtual void Dispose (bool disposing)
{
+ if (disposing && !disposed) {
+ disposed = true;
+
+ if (Content != null)
+ Content.Dispose ();
+ }
}
public HttpResponseMessage EnsureSuccessStatusCode ()
throw new HttpRequestException (string.Format ("{0} ({1})", (int) statusCode, ReasonPhrase));
}
+
+ public override string ToString ()
+ {
+ var sb = new StringBuilder ();
+ sb.Append ("StatusCode: ").Append ((int)StatusCode);
+ sb.Append (", ReasonPhrase: '").Append (ReasonPhrase ?? "<null>");
+ sb.Append ("', Version: ").Append (Version);
+ sb.Append (", Content: ").Append (Content != null ? Content.ToString () : "<null>");
+ sb.Append (", Headers:\r\n{\r\n").Append (Headers);
+ if (Content != null)
+ sb.Append (Content.Headers);
+
+ sb.Append ("}");
+
+ return sb.ToString ();
+ }
}
}