private void Build() { this.Domain = null; this.ServiceDefinition = null; this.ServiceMimeType = string.Empty; this.ServiceResult = string.Empty; this._ExecuteIn = string.Empty; this.IsAuthenticationRequired = false; this.IsWorkingAsStandAlone = false; // Check has ever user changed the Language this._CookieSearchKeyForLanguage = string.Format( "{0}_LanguageID", Basics.Configurations.Xeora.Application.Main.ApplicationRoot.BrowserImplementation.Replace('/', '_')); string languageID = string.Empty; Basics.Context.IHttpCookieInfo languageCookie = this._Context.Request.Header.Cookie[this._CookieSearchKeyForLanguage]; if (languageCookie != null && !string.IsNullOrEmpty(languageCookie.Value)) { languageID = languageCookie.Value; } // !--- this.SelectDomain(languageID); this.MetaRecord = new MetaRecord(); }
private void Build() { CryptographyProvider.Current.Ping(this._Context.Session.SessionId); this.Domain = null; this.ServiceDefinition = null; this.ServiceMimeType = string.Empty; this.ServiceResult = new Basics.RenderResult(string.Empty, false); this._ExecuteIn = string.Empty; this.IsAuthenticationRequired = false; this.IsWorkingAsStandAlone = false; // Check has ever user changed the Language this._CookieSearchKeyForLanguage = $"{Basics.Configurations.Xeora.Application.Main.ApplicationRoot.BrowserImplementation.Replace('/', '_')}_LanguageId"; string languageId = string.Empty; Basics.Context.IHttpCookieInfo languageCookie = this._Context.Request.Header.Cookie[this._CookieSearchKeyForLanguage]; if (languageCookie != null && !string.IsNullOrEmpty(languageCookie.Value)) { languageId = languageCookie.Value; } // !--- this.SelectDomain(languageId); this.MetaRecord = new MetaRecord(); }
private Tuple <bool, object> RenderCookieItem() { string cookieItemKey = this._RawValue.Substring(1); Basics.Context.IHttpCookieInfo cookieItem = Helpers.Context.Request.Header.Cookie[cookieItemKey]; return(new Tuple <bool, object>(true, cookieItem == null ? string.Empty : cookieItem.Value)); }
private static void AcquireSession(Basics.Context.IHttpRequest request, out Basics.Session.IHttpSession session) { string sessionCookieKey = Configurations.Xeora.Session.CookieKey; Basics.Context.IHttpCookieInfo sessionIdCookie = request.Header.Cookie[sessionCookieKey]; request.Header.Cookie.Remove(sessionCookieKey); SessionManager.Current.Acquire(sessionIdCookie?.Value, out session); }
public HttpContext(string contextID, ref Basics.Context.IHttpRequest request) { string sessionCookieKey = Basics.Configurations.Xeora.Session.CookieKey; this.Request = request; this.Response = new HttpResponse(contextID); string sessionID = string.Empty; Basics.Context.IHttpCookieInfo sessionIDCookie = this.Request.Header.Cookie[sessionCookieKey]; if (sessionIDCookie != null) { sessionID = sessionIDCookie.Value; // Remove sessioncookie from the request object ((HttpCookie)this.Request.Header.Cookie).Remove(sessionCookieKey); } SessionManager.Current.Acquire( sessionID, out this._Session); ((HttpResponse)this.Response).SessionCookieRequested += (skip) => { if (skip) { return(null); } if (string.Compare(sessionID, this._Session.SessionID) == 0) { return(null); } if (this._Session.Keys.Length == 0) { return(null); } // Create SessionCookie sessionIDCookie = this.Response.Header.Cookie.CreateNewCookie(sessionCookieKey); sessionIDCookie.Value = this._Session.SessionID; sessionIDCookie.HttpOnly = true; return(sessionIDCookie); }; this.Application = ApplicationContainer.Current; }
private void RenderCookieItem() { string cookieItemKey = this.Value.Substring(1); Basics.Context.IHttpCookieInfo cookieItem = Helpers.Context.Request.Header.Cookie[cookieItemKey]; if (cookieItem == null) { this.RenderedValue = string.Empty; this.ObjectResult = null; return; } this.RenderedValue = cookieItem.Value; this.ObjectResult = cookieItem.Value; }
public HttpContext( string contextId, bool secure, Basics.Context.IHttpRequest request, Basics.Context.IHttpResponse response, Basics.Session.IHttpSession session, Basics.Application.IHttpApplication application) { this.UniqueId = contextId; this.HashCode = this.GetOrCreateHashCode(ref request); this.Request = request; this.Response = response; this.Session = session; this.Application = application; ((HttpResponse)this.Response).SessionCookieRequested += skip => { if (skip) { return(null); } if (this.Session.Keys.Length == 0) { return(null); } // Create SessionCookie string sessionCookieKey = Basics.Configurations.Xeora.Session.CookieKey; Basics.Context.IHttpCookieInfo sessionIdCookie = this.Response.Header.Cookie.CreateNewCookie(sessionCookieKey); sessionIdCookie.Value = this.Session.SessionId; sessionIdCookie.Expires = this.Session.Expires; sessionIdCookie.SameSite = secure ? Basics.Context.SameSiteTypes.None : Basics.Context.SameSiteTypes.Lax; sessionIdCookie.Secure = secure; sessionIdCookie.HttpOnly = true; return(sessionIdCookie); }; }
private void ParseCookies(string rawCookie) { string[] keyValues = rawCookie.Split(';'); foreach (string keyValue in keyValues) { int equalsIndex = keyValue.IndexOf('='); if (equalsIndex == -1) { continue; } string key = keyValue.Substring(0, equalsIndex); key = key.Trim(); string value = keyValue.Substring(equalsIndex + 1); value = value.Trim(); Basics.Context.IHttpCookieInfo cookieInfo = this.Cookie.CreateNewCookie(key); cookieInfo.Value = System.Web.HttpUtility.UrlDecode(value); this.Cookie.AddOrUpdate(cookieInfo); } }