Top Description Inners Fields Constructors Methods
org.eclipse.jetty.http

public Class CookieCompliance

extends Object
implements Mode
Class Inheritance
All Implemented Interfaces
org.eclipse.jetty.http.ComplianceViolation.Mode
Imports
java.util.Arrays, .EnumSet, .List, .Objects, .Set, java.util.concurrent.atomic.AtomicInteger, org.slf4j.Logger, .LoggerFactory

The compliance mode for Cookie handling.

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static enum

Field Summary

Modifier and TypeField and Description
private static final AtomicInteger
private final String
private final Set<CookieCompliance.Violation>
private static final List<CookieCompliance>
private static final Logger
public static final CookieCompliance
public static final CookieCompliance
RFC2965_LEGACY

A CookieCompliance mode that allows RFC 2965 compliance.

public static final CookieCompliance
RFC6265

A CookieCompliance mode that enforces RFC 6265 compliance, but allows:

public static final CookieCompliance
public static final CookieCompliance
RFC6265_STRICT

A CookieCompliance mode that enforces RFC 6265 compliance.

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public boolean
public boolean
public static CookieCompliance

Returns:

the compliance from the string spec
from
(String
A string describing the compliance
spec
)

Create compliance set from string.

public Set<CookieCompliance.Violation>
public Set<CookieCompliance.Violation>
public String
public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.
public static CookieCompliance
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAllwaitwaitwait

Field Detail

__customback to summary
private static final AtomicInteger __custom
_nameback to summary
private final String _name
_violationsback to summary
private final Set<CookieCompliance.Violation> _violations
KNOWN_MODESback to summary
private static final List<CookieCompliance> KNOWN_MODES
LOGback to summary
private static final Logger LOG
RFC2965back to summary
public static final CookieCompliance RFC2965

A CookieCompliance mode that allows RFC 2965 compliance but does not allow:

RFC2965_LEGACYback to summary
public static final CookieCompliance RFC2965_LEGACY

A CookieCompliance mode that allows RFC 2965 compliance.

RFC6265back to summary
public static final CookieCompliance RFC6265

A CookieCompliance mode that enforces RFC 6265 compliance, but allows:

RFC6265_LEGACYback to summary
public static final CookieCompliance RFC6265_LEGACY

A CookieCompliance mode that enforces RFC 6265 compliance, but allows:

RFC6265_STRICTback to summary
public static final CookieCompliance RFC6265_STRICT

A CookieCompliance mode that enforces RFC 6265 compliance.

Constructor Detail

CookieComplianceback to summary
public CookieCompliance(String name, Set<CookieCompliance.Violation> violations)

Method Detail

allowsback to summary
public boolean allows(ComplianceViolation violation)

Implements org.eclipse.jetty.http.ComplianceViolation.Mode.allows.

Parameters
violation:ComplianceViolation

Doc from org.eclipse.jetty.http.ComplianceViolation.Mode.allows.

The ComplianceViolation to test

Returns:boolean

Doc from org.eclipse.jetty.http.ComplianceViolation.Mode.allows.

true iff the violation is allowed by this mode.

Annotations
@Override
compliesWithback to summary
public boolean compliesWith(CookieCompliance mode)
fromback to summary
public static CookieCompliance from(String spec)

Create compliance set from string.

Format: <BASE>[,[-]<violation>]...

BASE is one of:

0
No CookieCompliance.Violations
*
All CookieCompliance.Violations
<name>
The name of a static instance of CookieCompliance (e.g. CookieCompliance#RFC6265).

The remainder of the list can contain then names of CookieCompliance.Violations to include them in the mode, or prefixed with a '-' to exclude them from the mode. Examples are:

0,RESERVED_NAMES_NOT_DOLLAR_PREFIXED
Only allow CookieCompliance.Violation#RESERVED_NAMES_NOT_DOLLAR_PREFIXED
*,-RESERVED_NAMES_NOT_DOLLAR_PREFIXED
Allow all violations, except CookieCompliance.Violation#RESERVED_NAMES_NOT_DOLLAR_PREFIXED
RFC2965,RESERVED_NAMES_NOT_DOLLAR_PREFIXED
Same as RFC2965, but allows CookieCompliance.Violation#RESERVED_NAMES_NOT_DOLLAR_PREFIXED
Parameters
spec:String

A string describing the compliance

Returns:CookieCompliance

the compliance from the string spec

getAllowedback to summary
public Set<CookieCompliance.Violation> getAllowed()

Implements org.eclipse.jetty.http.ComplianceViolation.Mode.getAllowed.

Returns:Set<CookieCompliance.Violation>

Doc from org.eclipse.jetty.http.ComplianceViolation.Mode.getAllowed.

The immutable set of violations allowed by this mode.

Annotations
@Override
getKnownback to summary
public Set<CookieCompliance.Violation> getKnown()

Implements org.eclipse.jetty.http.ComplianceViolation.Mode.getKnown.

Returns:Set<CookieCompliance.Violation>

Doc from org.eclipse.jetty.http.ComplianceViolation.Mode.getKnown.

The immutable set of all known violations for this mode.

Annotations
@Override
getNameback to summary
public String getName()

Implements org.eclipse.jetty.http.ComplianceViolation.Mode.getName.

Returns:String

Doc from org.eclipse.jetty.http.ComplianceViolation.Mode.getName.

The name of the compliance violation mode.

Annotations
@Override
toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object.

Returns:String

a string representation of the object.

Annotations
@Override
valueOfback to summary
public static CookieCompliance valueOf(String name)
org.eclipse.jetty.http back to summary

public final Enum CookieCompliance.Violation

extends Enum<CookieCompliance.Violation>
implements ComplianceViolation
Class Inheritance
All Implemented Interfaces
org.eclipse.jetty.http.ComplianceViolation

Field Summary

Modifier and TypeField and Description
public static final CookieCompliance.Violation
ATTRIBUTE_VALUES

A cookie attribute value was found and its value is retained.

public static final CookieCompliance.Violation
ATTRIBUTES

A cookie attribute was found.

public static final CookieCompliance.Violation
BAD_QUOTES

Quotes are not balanced or are embedded in value.

public static final CookieCompliance.Violation
COMMA_NOT_VALID_OCTET

A comma was found in a cookie value.

public static final CookieCompliance.Violation
COMMA_SEPARATOR

A comma was found as separator between cookies.

private final String
public static final CookieCompliance.Violation
ESCAPE_IN_QUOTES

A backslash was found in a quoted cookie value.

public static final CookieCompliance.Violation
INVALID_COOKIES

An invalid cookie was found, without a more specific violation.

public static final CookieCompliance.Violation
OPTIONAL_WHITE_SPACE

Whitespace was found around the cookie name and/or around the cookie value.

public static final CookieCompliance.Violation
RESERVED_NAMES_NOT_DOLLAR_PREFIXED

Deprecated no replacement because was mistakenly considered a violation
public static final CookieCompliance.Violation
SPACE_IN_VALUES

Allow spaces within values without quotes.

public static final CookieCompliance.Violation
SPECIAL_CHARS_IN_QUOTES

Special characters were found in a quoted cookie value.

private final String

Constructor Summary

AccessConstructor and Description
private
Violation(String url, String description)

Method Summary

Modifier and TypeMethod and Description
public String
public String
public String
public static CookieCompliance.Violation
public static CookieCompliance.Violation[]
Inherited from java.lang.Enum:
clonecompareTodescribeConstableequalsfinalizegetDeclaringClasshashCodenameordinaltoStringvalueOf

Field Detail

ATTRIBUTE_VALUESback to summary
public static final CookieCompliance.Violation ATTRIBUTE_VALUES

A cookie attribute value was found and its value is retained. Allowing ATTRIBUTE_VALUE implies allowing ATTRIBUTES.

ATTRIBUTESback to summary
public static final CookieCompliance.Violation ATTRIBUTES

A cookie attribute was found. The attribute value is retained only if ATTRIBUTE_VALUES is allowed.

BAD_QUOTESback to summary
public static final CookieCompliance.Violation BAD_QUOTES

Quotes are not balanced or are embedded in value.

COMMA_NOT_VALID_OCTETback to summary
public static final CookieCompliance.Violation COMMA_NOT_VALID_OCTET

Deprecated

Use SPECIAL_CHARS_IN_QUOTES

A comma was found in a cookie value.

Annotations
@Deprecated
COMMA_SEPARATORback to summary
public static final CookieCompliance.Violation COMMA_SEPARATOR

A comma was found as separator between cookies.

descriptionback to summary
private final String description
ESCAPE_IN_QUOTESback to summary
public static final CookieCompliance.Violation ESCAPE_IN_QUOTES

A backslash was found in a quoted cookie value.

INVALID_COOKIESback to summary
public static final CookieCompliance.Violation INVALID_COOKIES

An invalid cookie was found, without a more specific violation. When this violation is not allowed, an exception is thrown.

OPTIONAL_WHITE_SPACEback to summary
public static final CookieCompliance.Violation OPTIONAL_WHITE_SPACE

Whitespace was found around the cookie name and/or around the cookie value.

RESERVED_NAMES_NOT_DOLLAR_PREFIXEDback to summary
public static final CookieCompliance.Violation RESERVED_NAMES_NOT_DOLLAR_PREFIXED

Deprecated

no replacement because was mistakenly considered a violation

Annotations
@Deprecated
SPACE_IN_VALUESback to summary
public static final CookieCompliance.Violation SPACE_IN_VALUES

Allow spaces within values without quotes.

SPECIAL_CHARS_IN_QUOTESback to summary
public static final CookieCompliance.Violation SPECIAL_CHARS_IN_QUOTES

Special characters were found in a quoted cookie value.

urlback to summary
private final String url

Constructor Detail

Violationback to summary
private Violation(String url, String description)

Method Detail

getDescriptionback to summary
public String getDescription()

Implements org.eclipse.jetty.http.ComplianceViolation.getDescription.

Returns:String

Doc from org.eclipse.jetty.http.ComplianceViolation.getDescription.

A short description of the violation.

Annotations
@Override
getNameback to summary
public String getName()

Implements org.eclipse.jetty.http.ComplianceViolation.getName.

Returns:String

Doc from org.eclipse.jetty.http.ComplianceViolation.getName.

The name of the violation.

Annotations
@Override
getURLback to summary
public String getURL()

Implements org.eclipse.jetty.http.ComplianceViolation.getURL.

Returns:String

Doc from org.eclipse.jetty.http.ComplianceViolation.getURL.

A URL to the specification that provides more information regarding the requirement that may be violated.

Annotations
@Override
valueOfback to summary
public static CookieCompliance.Violation valueOf(String name)
valuesback to summary
public static CookieCompliance.Violation[] values()