public override bool PostProcess(BadrRequest request, BadrResponse response, out string errorMessage) { CookiesSettings cookiesSettings = SiteManager.Settings.Cookies; errorMessage = null; if ((!cookiesSettings.SessionSecure || request.IsSecure) && response.Status.IsSuccess() && request.Session != null && request.Session.SendCookie) { HttpCookieFragment sessionFragment = new HttpCookieFragment( name: CookieNames.SESSION_ID, value: request.Session.ID, path: "/", domain: request.DomainUri.Host); if(cookiesSettings != null) { if(!SiteManager.Settings.Cookies.SessionExpireAtBrowserClose) sessionFragment[HttpCookieFragment.ATTR_MAX_AGE] = cookiesSettings.SessionAge.ToString(); sessionFragment.IsSecure = cookiesSettings.SessionSecure; sessionFragment.IsHttpOnly = cookiesSettings.SessionHttpOnly; } response.Cookies[CookieNames.SESSION_ID] = sessionFragment; } return true; }
public override bool PostProcess(BadrRequest request, BadrResponse response, out string errorMessage) { errorMessage = null; if ((!SiteManager.Settings.Cookies.CsrfSecure || request.IsSecure) && response.Status.IsSuccess() && IsValidCsrf(request)) { HttpCookieFragment csrfFragment = new HttpCookieFragment( name: CookieNames.CSRF_TOKEN, value: request.CsrfToken, path: "/", domain: request.DomainUri.Host); if(SiteManager.Settings.Cookies != null) { csrfFragment.IsSecure = SiteManager.Settings.Cookies.CsrfSecure; } response.Cookies[CookieNames.CSRF_TOKEN] = csrfFragment; } return true; }
static HttpCookieFragment() { Empty = new HttpCookieFragment(); Empty._isReadonly = true; }
public void Parse(string httpCookies) { foreach (Match m in _regCookies.Matches(httpCookies)) { string name = m.Groups["name"].Success ? m.Groups ["name"].Value : null; if(name != null) this [name] = new HttpCookieFragment(name, m.Groups ["value"].Value); } }