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