示例#1
0
        /// <summary>
        /// This state is used to decode the incoming message, and extract important
        /// information such as the HTTP cookie value for the HTTP protocol.
        /// </summary>
        /// <param name="context">This is the request context</param>
        public override bool MessageDecode(SiteControllerContext context)
        {
            //Set the HTTP response message.
            context.ProtocolResponse = context.GetObjectPool<InternetMessageResponse>().Get();
            context.ProtocolResponse.BeginInit();

            InternetInstructionFragmentBase baseFragment = context.ProtocolRequest.Instruction;
            ControllerRequest contRQ = context.ScriptRequest;
            HTTPRequestMessage rq = context.RequestMessage as HTTPRequestMessage;

            contRQ.RequestURI = context.RequestURI;
            contRQ.RequestAddressLocal = new IPEndPointExtended(context.RequestURILocal);
            contRQ.RequestAddressRemote = new IPEndPointExtended(context.RequestURIRemote);

            contRQ.RequestVerb = context.RequestMethod;

            contRQ.RequestProtocolVersion = baseFragment.Version;
            contRQ.ResponseProtocolVersion = baseFragment.Version;
            contRQ.ResponseProtocol = contRQ.RequestURI.Scheme;

            HeadersProcess(context, contRQ, rq);

            CookiesProcess(context);

            return context.ScriptRequestResolved;
        }
示例#2
0
        public override bool MessageDecode(SiteControllerContext context)
        {
            //Set the HTTP response message.
            context.ProtocolResponse = context.GetObjectPool<InternetMessageResponse>().Get();
            context.ProtocolResponse.BeginInit();

            ControllerRequest contRQ = context.ScriptRequest;

            contRQ.RequestURI = context.RequestURI;

            contRQ.RequestVerb = context.RequestMethod;

            return context.ScriptRequestResolved;
        }
示例#3
0
 protected virtual void SetErrorBody(SiteControllerContext context, string errorCode, string errorMessage, string errorDescription)
 {
     HTMLErrorBodyFragment newFrag = context.GetObjectPool<HTMLErrorBodyFragment>().Get();
     newFrag.BeginInit();
     newFrag.ErrorTypeSet(errorCode, errorMessage, errorDescription);
     context.ProtocolResponse.Body = newFrag;
 }