C# HttpListenerRequest HttpRequestWrapper
using System; using System.Collections.Generic; using System.Collections.Specialized; using System.Diagnostics.Contracts; using System.IO; using System.Linq; using System.Net; using System.Text; namespace Rocky.Net { public sealed class HttpRequestWrapper : System.Web.HttpRequestBase { internal static readonly string[] SystemHeaders = new string[] { "Accept", "Connection", "Content-Length", "Content-Type", "Date", "Host", "Expect", "If-Modified-Since", "Range", "Transfer-Encoding","Referer", "User-Agent", "Proxy-Connection" }; private HttpListenerRequest _request; public override string[] AcceptTypes { get { return _request.AcceptTypes; } } public override Encoding ContentEncoding { get { return _request.ContentEncoding; } set { throw new NotSupportedException(); } } public override int ContentLength { get { return (int)_request.ContentLength64; } } public override string ContentType { get { return _request.ContentType; } set { throw new NotSupportedException(); } } public override NameValueCollection Headers { get { return _request.Headers; } } public override string HttpMethod { get { return _request.HttpMethod; } } public override Stream InputStream { get { return _request.InputStream; } } public override bool IsAuthenticated { get { return _request.IsAuthenticated; } } public override bool IsLocal { get { return _request.IsLocal; } } public override bool IsSecureConnection { get { return _request.IsSecureConnection; } } public override NameValueCollection QueryString { get { return _request.QueryString; } } public override string RawUrl { get { return _request.RawUrl; } } public override Uri Url { get { return _request.Url; } } public override Uri UrlReferrer { get { return _request.UrlReferrer; } } public override string UserAgent { get { return _request.UserAgent; } } public override string UserHostAddress { get { return _request.UserHostAddress; } } public override string UserHostName { get { return _request.UserHostName; } } public override string[] UserLanguages { get { return _request.UserLanguages; } } public HttpRequestWrapper(HttpListenerRequest request) { Contract.Requires(request != null); _request = request; } } }