Exemplo n.º 1
0
        //データオブジェクトの追加
        override public void Add(OneObj oneObj)
        {
            //オプション指定によるヘッダの追加処理
            if (!(bool)_conf.Get("useBrowserHedaer"))
            {
                if ((bool)_conf.Get("addHeaderRemoteHost"))
                {
                    //    oneObj.Header[cs].Append(key,val);
                    oneObj.Header[CS.Client].Append("Remote-Host-Wp", Encoding.ASCII.GetBytes(Define.ServerAddress()));
                }
                if ((bool)_conf.Get("addHeaderXForwardedFor"))
                {
                    oneObj.Header[CS.Client].Append("X-Forwarded-For", Encoding.ASCII.GetBytes(Define.ServerAddress()));
                }
                if ((bool)_conf.Get("addHeaderForwarded"))
                {
                    string str = string.Format("by {0} (Version {1}) for {2}", Define.ApplicationName(), _kernel.Ver.Version(), Define.ServerAddress());
                    oneObj.Header[CS.Client].Append("Forwarded", Encoding.ASCII.GetBytes(str));
                }
            }

            if (_ar.Count == 0)
            {
                if (oneObj.Request.HttpVer != "HTTP/1.1")
                {
                    KeepAlive = false;//非継続型
                }
            }

            var oneProxyHttp = new OneProxyHttp(Proxy, this, oneObj);

            //キャッシュの確認
            oneProxyHttp.CacheConform(_cache);
            _ar.Add(oneProxyHttp);
        }
Exemplo n.º 2
0
        //データオブジェクトの追加
        public override void Add(OneObj oneObj)
        {
            //オプション指定によるヘッダの追加処理
            if (!(bool)_conf.Get("useBrowserHedaer")) {
                if ((bool)_conf.Get("addHeaderRemoteHost")) {
                    //    oneObj.Header[cs].Append(key,val);
                    oneObj.Header[CS.Client].Append("Remote-Host-Wp", Encoding.ASCII.GetBytes(Define.ServerAddress()));
                }
                if ((bool)_conf.Get("addHeaderXForwardedFor")) {
                    oneObj.Header[CS.Client].Append("X-Forwarded-For", Encoding.ASCII.GetBytes(Define.ServerAddress()));
                }
                if ((bool)_conf.Get("addHeaderForwarded")) {
                    string str = string.Format("by {0} (Version {1}) for {2}", Define.ApplicationName(), _kernel.Ver.Version(), Define.ServerAddress());
                    oneObj.Header[CS.Client].Append("Forwarded", Encoding.ASCII.GetBytes(str));
                }
            }

            if (_ar.Count == 0) {
                if (oneObj.Request.HttpVer != "HTTP/1.1"){
                    KeepAlive = false;//非継続型
                }
            }

            var oneProxyHttp = new OneProxyHttp(Proxy, this, oneObj);
            //キャッシュの確認
            oneProxyHttp.CacheConform(_cache);
            _ar.Add(oneProxyHttp);
        }