示例#1
0
        //データオブジェクトの追加
        public void Add(OneObj oneObj)
        {
            //オプション指定によるヘッダの追加処理
            if (!opBase.ValBool("useBrowserHedaer"))
            {
                if (opBase.ValBool("addHeaderRemoteHost"))
                {
                    //    oneObj.Header[cs].Append(key,val);
                    oneObj.Header[CS.CLIENT].Append("Remote-Host-Wp", Define.ServerAddress());
                }
                if (opBase.ValBool("addHeaderXForwardedFor"))
                {
                    oneObj.Header[CS.CLIENT].Append("X-Forwarded-For", Define.ServerAddress());
                }
                if (opBase.ValBool("addHeaderForwarded"))
                {
                    string str = string.Format("by {0} (Version {1}) for {2}", Define.ApplicationName(), kanel.Ver.Version(), Define.ServerAddress());
                    oneObj.Header[CS.CLIENT].Append("Forwarded", str);
                }
            }

            OneHttp oneHttp = new OneHttp(proxy, this, oneObj);

            //キャッシュの確認
            oneHttp.CacheConform();
            ar.Add(oneHttp);
        }
示例#2
0
        public Server(Kanel kanel,OpBase opBase)
            : base(kanel, opBase, PROTOCOL_KIND.TCP, USE_ACL.ON)
        {
            cache = new Cache(this.Logger,this.OpBase);

            // 上位プロキシを経由しないサーバのリスト
            Dat dat = opBase.ValDat("disableAddress");
            foreach (OneLine oneLine in dat.Lines) {
                if (oneLine.Enabled) {//有効なデータだけを対象にする
                    disableAddressList.Add((string)oneLine.ValList[0].Obj);
                }
            }
            //URL制限
            limitUrl = new LimitUrl(opBase.ValDat("limitUrl"),(opBase.ValRadio("enableUrl")==0)?true:false);

            //リクエストを通常ログで表示する
            useRequestLog = opBase.ValBool("useRequestLog");

            //コンテンツ制限
            limitString = new LimitString(opBase.ValDat("limitString"));
            if (limitString.Length == 0)
                limitString = null;

            dataPort = dataPortMin;

            //初期化成功(isInitSuccess==trueでないとStart()を実行してもスレッド開始できない)
            isInitSuccess = true;
        }
示例#3
0
        public Server(Kanel kanel, OpBase opBase)
            : base(kanel, opBase, PROTOCOL_KIND.TCP, USE_ACL.ON)
        {
            cache = new Cache(this.Logger, this.OpBase);

            // 上位プロキシを経由しないサーバのリスト
            Dat dat = opBase.ValDat("disableAddress");

            foreach (OneLine oneLine in dat.Lines)
            {
                if (oneLine.Enabled)  //有効なデータだけを対象にする
                {
                    disableAddressList.Add((string)oneLine.ValList[0].Obj);
                }
            }
            //URL制限
            limitUrl = new LimitUrl(opBase.ValDat("limitUrl"), (opBase.ValRadio("enableUrl") == 0)?true:false);


            //リクエストを通常ログで表示する
            useRequestLog = opBase.ValBool("useRequestLog");

            //コンテンツ制限
            limitString = new LimitString(opBase.ValDat("limitString"));
            if (limitString.Length == 0)
            {
                limitString = null;
            }

            dataPort = dataPortMin;

            //初期化成功(isInitSuccess==trueでないとStart()を実行してもスレッド開始できない)
            isInitSuccess = true;
        }