Package org.eclipse.jetty.http
Class HttpCookie
- java.lang.Object
-
- org.eclipse.jetty.http.HttpCookie
-
public class HttpCookie extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classHttpCookie.SameSitestatic classHttpCookie.SetCookieHttpField
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.String__01Jan1970_COOKIEprivate static java.lang.String__COOKIE_DELIMprivate java.lang.String_commentprivate java.lang.String_domainprivate long_expirationprivate boolean_httpOnlyprivate long_maxAgeprivate java.lang.String_nameprivate java.lang.String_pathprivate HttpCookie.SameSite_sameSiteprivate boolean_secureprivate java.lang.String_valueprivate int_versionstatic java.lang.StringHTTP_ONLY_COMMENTIf this string is found within the comment parsed withisHttpOnlyInComment(String)the check will return trueprivate static LoggerLOGprivate static java.lang.StringSAME_SITE_COMMENTThese strings are used bygetSameSiteFromComment(String)to check for a SameSite specifier in the commentstatic java.lang.StringSAME_SITE_DEFAULT_ATTRIBUTEName of context attribute with default SameSite cookie valuestatic java.lang.StringSAME_SITE_LAX_COMMENTstatic java.lang.StringSAME_SITE_NONE_COMMENTstatic java.lang.StringSAME_SITE_STRICT_COMMENT
-
Constructor Summary
Constructors Constructor Description HttpCookie(java.lang.String setCookie)HttpCookie(java.lang.String name, java.lang.String value)HttpCookie(java.lang.String name, java.lang.String value, long maxAge)HttpCookie(java.lang.String name, java.lang.String value, java.lang.String domain, java.lang.String path)HttpCookie(java.lang.String name, java.lang.String value, java.lang.String domain, java.lang.String path, long maxAge, boolean httpOnly, boolean secure)HttpCookie(java.lang.String name, java.lang.String value, java.lang.String domain, java.lang.String path, long maxAge, boolean httpOnly, boolean secure, java.lang.String comment, int version)HttpCookie(java.lang.String name, java.lang.String value, java.lang.String domain, java.lang.String path, long maxAge, boolean httpOnly, boolean secure, java.lang.String comment, int version, HttpCookie.SameSite sameSite)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringasString()java.lang.StringgetComment()static java.lang.StringgetCommentWithAttributes(java.lang.String comment, boolean httpOnly, HttpCookie.SameSite sameSite)static java.lang.StringgetCommentWithoutAttributes(java.lang.String comment)java.lang.StringgetDomain()longgetMaxAge()java.lang.StringgetName()java.lang.StringgetPath()java.lang.StringgetRFC2965SetCookie()java.lang.StringgetRFC6265SetCookie()HttpCookie.SameSitegetSameSite()static HttpCookie.SameSitegetSameSiteDefault(javax.servlet.ServletContext context)Get the default value for SameSite cookie attribute, if one has been set for the given context.static HttpCookie.SameSitegetSameSiteFromComment(java.lang.String comment)java.lang.StringgetSetCookie(CookieCompliance compliance)java.lang.StringgetValue()intgetVersion()booleanisExpired(long timeNanos)booleanisHttpOnly()static booleanisHttpOnlyInComment(java.lang.String comment)private static booleanisQuoteNeededForCookie(java.lang.String s)Does a cookie value need to be quoted?booleanisSecure()private static voidquoteOnlyOrAppend(java.lang.StringBuilder buf, java.lang.String s, boolean quote)
-
-
-
Field Detail
-
LOG
private static final Logger LOG
-
__COOKIE_DELIM
private static final java.lang.String __COOKIE_DELIM
- See Also:
- Constant Field Values
-
__01Jan1970_COOKIE
private static final java.lang.String __01Jan1970_COOKIE
-
HTTP_ONLY_COMMENT
public static final java.lang.String HTTP_ONLY_COMMENT
If this string is found within the comment parsed withisHttpOnlyInComment(String)the check will return true- See Also:
- Constant Field Values
-
SAME_SITE_COMMENT
private static final java.lang.String SAME_SITE_COMMENT
These strings are used bygetSameSiteFromComment(String)to check for a SameSite specifier in the comment- See Also:
- Constant Field Values
-
SAME_SITE_NONE_COMMENT
public static final java.lang.String SAME_SITE_NONE_COMMENT
- See Also:
- Constant Field Values
-
SAME_SITE_LAX_COMMENT
public static final java.lang.String SAME_SITE_LAX_COMMENT
- See Also:
- Constant Field Values
-
SAME_SITE_STRICT_COMMENT
public static final java.lang.String SAME_SITE_STRICT_COMMENT
- See Also:
- Constant Field Values
-
SAME_SITE_DEFAULT_ATTRIBUTE
public static final java.lang.String SAME_SITE_DEFAULT_ATTRIBUTE
Name of context attribute with default SameSite cookie value- See Also:
- Constant Field Values
-
_name
private final java.lang.String _name
-
_value
private final java.lang.String _value
-
_comment
private final java.lang.String _comment
-
_domain
private final java.lang.String _domain
-
_maxAge
private final long _maxAge
-
_path
private final java.lang.String _path
-
_secure
private final boolean _secure
-
_version
private final int _version
-
_httpOnly
private final boolean _httpOnly
-
_expiration
private final long _expiration
-
_sameSite
private final HttpCookie.SameSite _sameSite
-
-
Constructor Detail
-
HttpCookie
public HttpCookie(java.lang.String name, java.lang.String value)
-
HttpCookie
public HttpCookie(java.lang.String name, java.lang.String value, java.lang.String domain, java.lang.String path)
-
HttpCookie
public HttpCookie(java.lang.String name, java.lang.String value, long maxAge)
-
HttpCookie
public HttpCookie(java.lang.String name, java.lang.String value, java.lang.String domain, java.lang.String path, long maxAge, boolean httpOnly, boolean secure)
-
HttpCookie
public HttpCookie(java.lang.String name, java.lang.String value, java.lang.String domain, java.lang.String path, long maxAge, boolean httpOnly, boolean secure, java.lang.String comment, int version)
-
HttpCookie
public HttpCookie(java.lang.String name, java.lang.String value, java.lang.String domain, java.lang.String path, long maxAge, boolean httpOnly, boolean secure, java.lang.String comment, int version, HttpCookie.SameSite sameSite)
-
HttpCookie
public HttpCookie(java.lang.String setCookie)
-
-
Method Detail
-
getName
public java.lang.String getName()
- Returns:
- the cookie name
-
getValue
public java.lang.String getValue()
- Returns:
- the cookie value
-
getComment
public java.lang.String getComment()
- Returns:
- the cookie comment
-
getDomain
public java.lang.String getDomain()
- Returns:
- the cookie domain
-
getMaxAge
public long getMaxAge()
- Returns:
- the cookie max age in seconds
-
getPath
public java.lang.String getPath()
- Returns:
- the cookie path
-
isSecure
public boolean isSecure()
- Returns:
- whether the cookie is valid for secure domains
-
getVersion
public int getVersion()
- Returns:
- the cookie version
-
getSameSite
public HttpCookie.SameSite getSameSite()
- Returns:
- the cookie SameSite enum attribute
-
isHttpOnly
public boolean isHttpOnly()
- Returns:
- whether the cookie is valid for the http protocol only
-
isExpired
public boolean isExpired(long timeNanos)
- Parameters:
timeNanos- the time to check for cookie expiration, in nanoseconds- Returns:
- whether the cookie is expired by the given time
-
asString
public java.lang.String asString()
- Returns:
- a string representation of this cookie
-
quoteOnlyOrAppend
private static void quoteOnlyOrAppend(java.lang.StringBuilder buf, java.lang.String s, boolean quote)
-
isQuoteNeededForCookie
private static boolean isQuoteNeededForCookie(java.lang.String s)
Does a cookie value need to be quoted?- Parameters:
s- value string- Returns:
- true if quoted;
- Throws:
java.lang.IllegalArgumentException- If there a control characters in the string
-
getSetCookie
public java.lang.String getSetCookie(CookieCompliance compliance)
-
getRFC2965SetCookie
public java.lang.String getRFC2965SetCookie()
-
getRFC6265SetCookie
public java.lang.String getRFC6265SetCookie()
-
isHttpOnlyInComment
public static boolean isHttpOnlyInComment(java.lang.String comment)
-
getSameSiteFromComment
public static HttpCookie.SameSite getSameSiteFromComment(java.lang.String comment)
-
getSameSiteDefault
public static HttpCookie.SameSite getSameSiteDefault(javax.servlet.ServletContext context)
Get the default value for SameSite cookie attribute, if one has been set for the given context.- Parameters:
context- the context to check for default SameSite value- Returns:
- the default SameSite value or null if one does not exist
- Throws:
java.lang.IllegalStateException- if the default value is not a permitted value
-
getCommentWithoutAttributes
public static java.lang.String getCommentWithoutAttributes(java.lang.String comment)
-
getCommentWithAttributes
public static java.lang.String getCommentWithAttributes(java.lang.String comment, boolean httpOnly, HttpCookie.SameSite sameSite)
-
-