示例#1
0
        public bool CreateFromErrorCode(Request request, int responseCode)
        {
            //Ver5.0.0-a20 �G���R�[�h�̓I�v�V�����ݒ�ɏ]��
            Encoding encoding;
            string   charset;

            if (!GetEncodeOption(out encoding, out charset))
            {
                return(false);
            }

            //���X�|���X�p�̐��`�擾
            var lines = Inet.GetLines((string)_conf.Get("errorDocument"));

            if (lines.Count == 0)
            {
                _logger.Set(LogKind.Error, null, 25, "");
                return(false);
            }

            //�o�b�t�@�̏�����
            var sb = new StringBuilder();

            //������uri��o�͗p�ɃT�C�^�C�Y����i�N���X�T�C�g�X�N���v�e�B���O�Ή��j
            var uri = Inet.Sanitize(request.Uri);

            //���`��P�s�“ǂݍ���ŃL�[���[�h�ϊ������̂��o�͗p�o�b�t�@�ɒ~�ς���
            foreach (string line in lines)
            {
                string str = line;
                str = Util.SwapStr("$MSG", request.StatusMessage(responseCode), str);
                str = Util.SwapStr("$CODE", responseCode.ToString(), str);
                str = Util.SwapStr("$SERVER", Define.ApplicationName(), str);
                str = Util.SwapStr("$VER", request.Ver, str);
                str = Util.SwapStr("$URI", uri, str);
                sb.Append(str + "\r\n");
            }
            _body.Set(encoding.GetBytes(sb.ToString()));
            _sendHeader.Replace("Content-Length", _body.Length.ToString());
            _sendHeader.Replace("Content-Type", string.Format("text/html;charset={0}", charset));
            return(true);
        }
示例#2
0
        public bool CreateFromErrorCode(Request request,int responseCode)
        {
            //Ver5.0.0-a20 �G���R�[�h�̓I�v�V�����ݒ�ɏ]��
            Encoding encoding;
            string charset;
            if (!GetEncodeOption(out encoding,out charset)) {
                return false;
            }

            //���X�|���X�p�̐��`�擾
            var lines = Inet.GetLines((string)_conf.Get("errorDocument"));
            if (lines.Count == 0) {
                _logger.Set(LogKind.Error,null,25,"");
                return false;
            }

            //�o�b�t�@�̏�����
            var sb = new StringBuilder();

            //������uri��o�͗p�ɃT�C�^�C�Y����i�N���X�T�C�g�X�N���v�e�B���O�Ή��j
            var uri = Inet.Sanitize(request.Uri);

            //���`��P�s�“ǂݍ���ŃL�[���[�h�ϊ������̂��o�͗p�o�b�t�@�ɒ~�ς���
            foreach(string line in lines){
                string str = line;
                str = Util.SwapStr("$MSG", request.StatusMessage(responseCode), str);
                str = Util.SwapStr("$CODE", responseCode.ToString(), str);
                str = Util.SwapStr("$SERVER", Define.ApplicationName(), str);
                str = Util.SwapStr("$VER", request.Ver, str);
                str = Util.SwapStr("$URI", uri, str);
                sb.Append(str + "\r\n");
            }
            _body.Set(encoding.GetBytes(sb.ToString()));
            _sendHeader.Replace("Content-Length",_body.Length.ToString());
            _sendHeader.Replace("Content-Type",string.Format("text/html;charset={0}",charset));
            return true;
        }