/// <summary>
        /// This processes the incoming headers and adds them to the Controller Request.
        /// </summary>
        /// <param name="contRQ"></param>
        /// <param name="rq"></param>
        protected virtual void HeadersProcess(SiteControllerContext context, ControllerRequest contRQ, HTTPRequestMessage rq)
        {
            string isoCode;
            if (mSClogger != null &&
                mSClogger.ResolveAddress(contRQ.RequestAddressRemote.Address, out isoCode))
            {
                contRQ.RequestAddressRemoteResolvedCountryCode = isoCode;
            }

            foreach (HeaderFragment frag in rq.HeaderFragments())
            {
                switch (frag.Field.ToLower())
                {
                    case "x-wap-profile":
                        contRQ.RequestUserAgentWapProfile = frag.FieldData;
                        break;
                    case "if-none-match":
                        contRQ.RequestIfNoneMatch = frag.FieldData;
                        break;
                    case "connection":
                        contRQ.RequestConnection = frag.FieldData;
                        break;
                    case "accept":
                        contRQ.RequestAccept = frag.FieldData;
                        break;
                    case "accept-language":
                        contRQ.RequestAcceptLanguage = frag.FieldData;
                        break;
                    case "accept-encoding":
                        contRQ.RequestAcceptEncoding = frag.FieldData;
                        break;
                    case "accept-charset":
                        contRQ.RequestAcceptCharset = frag.FieldData;
                        break;
                    case "user-agent":
                        contRQ.RequestUserAgent = frag.FieldData;
                        break;
                    case "referer":
                        contRQ.RequestRefererURI = frag.FieldData;
                        break;
                    case "authorization":
                        contRQ.RequestAuthorization = frag.FieldData;
                        break;
                    case "content-type":
                        contRQ.RequestContentType = frag.FieldData;
                        break;
                    case "content-length":
                        contRQ.RequestContentLength = frag.FieldData;
                        break;
                    case "content-encoding":
                        contRQ.RequestContentEncoding = frag.FieldData;

                        break;
                    case "host":
                        break;

                    default:
                        contRQ.RequestHeaderAdd(frag.Field, frag.FieldData);
                        break;
                }
            }
        }
 /// <summary>
 /// This method resets the request so that it can be reused.
 /// </summary>
 public override void Reset()
 {
     mData = null;
     mSettings = null;
     base.Reset();
 }
        /// <summary>
        /// This method sets the authentication for a stored cookie credentials.
        /// </summary>
        /// <param name="context">The current context.</param>
        /// <param name="cookieMember">The member cookie.</param>
        protected virtual void ProcessMemberCookie(SiteControllerContext context, ControllerRequest.Cookie cookieMember)
        {
            string[] members = cookieMember.Value.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);

            foreach (string item in members)
            {
                ProcessMemberCookieItem(context, item);
            }
        }