Googler

两情相悦,又岂在朝朝暮暮。

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;
        }
    }
}

 

posted on 2013-05-13 18:46  RockyLOMO  阅读(825)  评论(0编辑  收藏  举报

导航

Apple/苹果笔记本 Mac Air MC968CH/A 行货在保 I5 11寸 超级本