internal CookieSettings(
     CookieName name,
     bool httpOnly,
     CookieSecurePreference securePreference,
     CookieSameSiteMode sameSiteMode)
 {
     Name             = name;
     HttpOnly         = httpOnly;
     SecurePreference = securePreference;
     SameSiteMode     = sameSiteMode;
 }
Example #2
0
 public ResponseCookie(string name, string value = null, DateTime?expires = null, bool secure = true, bool httpOnly = true, string domain = null, string path = "/", CookieSameSiteMode sameSiteMode = CookieSameSiteMode.None)
 {
     this.Name         = name;
     this.Value        = value;
     this.Expires      = expires;
     this.Secure       = secure;
     this.HttpOnly     = httpOnly;
     this.Domain       = domain;
     this.Path         = path;
     this.SameSiteMode = sameSiteMode;
 }
        static SameSiteMode GetSameSiteMode(CookieSameSiteMode sameSiteMode)
        {
            switch (sameSiteMode)
            {
            case CookieSameSiteMode.Lax:
                return(SameSiteMode.Lax);

            case CookieSameSiteMode.Strict:
                return(SameSiteMode.Strict);

            case CookieSameSiteMode.None:
            default:
                return(SameSiteMode.None);
            }
        }
        public void UsesProvidedValues()
        {
            var        cookieName = new CookieName("foo");
            const bool httpOnly   = false;
            const CookieSecurePreference secureOnly   = CookieSecurePreference.Never;
            const CookieSameSiteMode     sameSiteMode = CookieSameSiteMode.Strict;
            var expectedCookieSettings = new CookieSettings(cookieName, httpOnly, secureOnly, sameSiteMode);

            var cookieSettings = new CookieSettingsBuilder()
                                 .Name(cookieName)
                                 .HttpOnly(httpOnly)
                                 .SecurePreference(secureOnly)
                                 .SameSiteMode(sameSiteMode)
                                 .Build();

            Assert.Equal(expectedCookieSettings, cookieSettings);
        }
Example #5
0
 public CookieSettingsBuilder SameSiteMode(CookieSameSiteMode sameSiteMode)
 {
     return(ShallowClone(sameSiteMode: sameSiteMode));
 }