io.undertow.server.session

## Class SessionCookieConfig

- java.lang.Object
- - io.undertow.server.session.SessionCookieConfig

All Implemented Interfaces:
  SessionConfig

    public class SessionCookieConfig
    extends Object
    implements SessionConfig

Encapsulation of session cookie configuration. This removes the need for the session manager to know about cookie configuration.

Author:
  Stuart Douglas, Richard Opalka

### Nested Class Summary

### Nested classes/interfaces inherited from interface io.undertow.server.session.SessionConfig

`SessionConfig.SessionCookieSource`

### Field Summary

Fields
`static String` `DEFAULT_SESSION_ID`

### Fields inherited from interface io.undertow.server.session.SessionConfig

`ATTACHMENT_KEY`

### Constructor Summary

Constructors
Constructor and Description
`SessionCookieConfig()`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `clearSession(HttpServerExchange exchange, String sessionId)` Clears this session from the exchange, removing the attachment and making any changes to the response necessary, such as clearing cookies.
`String` `findSessionId(HttpServerExchange exchange)` Retrieves a session id of an existing session from an exchange.
`String` `getComment()`
`String` `getCookieName()`
`String` `getDomain()`
`int` `getMaxAge()`
`String` `getPath()`
`boolean` `isDiscard()`
`boolean` `isHttpOnly()`
`boolean` `isSecure()`
`String` `rewriteUrl(String originalUrl, String sessionId)`
`SessionConfig.SessionCookieSource` `sessionCookieSource(HttpServerExchange exchange)`
`SessionCookieConfig` `setComment(String comment)`
`SessionCookieConfig` `setCookieName(String cookieName)`
`SessionCookieConfig` `setDiscard(boolean discard)`
`SessionCookieConfig` `setDomain(String domain)`
`SessionCookieConfig` `setHttpOnly(boolean httpOnly)`
`SessionCookieConfig` `setMaxAge(int maxAge)`
`SessionCookieConfig` `setPath(String path)`
`SessionCookieConfig` `setSecure(boolean secure)`
`void` `setSessionId(HttpServerExchange exchange, String sessionId)` Attaches the session to the exchange.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### DEFAULT_SESSION_ID

    public static final String DEFAULT_SESSION_ID

See Also:
  Constant Field Values

### Constructor Detail

#### SessionCookieConfig

    public SessionCookieConfig()

### Method Detail

#### rewriteUrl

    public String rewriteUrl(String originalUrl,
                             String sessionId)

Specified by:
  `rewriteUrl` in interface `SessionConfig`

#### setSessionId

    public void setSessionId(HttpServerExchange exchange,
                             String sessionId)

Description copied from interface: `SessionConfig`
Attaches the session to the exchange. The method should attach the exchange under an attachment key, and should also modify the exchange to allow the session to be re-attached on the next request.

Generally this will involve setting a cookie

Once a session has been attached it must be possible to retrieve it via `SessionConfig.findSessionId(io.undertow.server.HttpServerExchange)`

Specified by:
  `setSessionId` in interface `SessionConfig`
Parameters:
  `exchange` - The exchange
  `sessionId` - The session

#### clearSession

    public void clearSession(HttpServerExchange exchange,
                             String sessionId)

Description copied from interface: `SessionConfig`
Clears this session from the exchange, removing the attachment and making any changes to the response necessary, such as clearing cookies.

Specified by:
  `clearSession` in interface `SessionConfig`
Parameters:
  `exchange` - The exchange
  `sessionId` - The session id

#### findSessionId

    public String findSessionId(HttpServerExchange exchange)

Description copied from interface: `SessionConfig`
Retrieves a session id of an existing session from an exchange.

Specified by:
  `findSessionId` in interface `SessionConfig`
Parameters:
  `exchange` - The exchange
Returns:
  The session id, or null

#### sessionCookieSource

    public SessionConfig.SessionCookieSource sessionCookieSource(HttpServerExchange exchange)

Specified by:
  `sessionCookieSource` in interface `SessionConfig`

#### getCookieName

    public String getCookieName()

#### setCookieName

    public SessionCookieConfig setCookieName(String cookieName)

#### getPath

    public String getPath()

#### setPath

    public SessionCookieConfig setPath(String path)

#### getDomain

    public String getDomain()

#### setDomain

    public SessionCookieConfig setDomain(String domain)

#### isDiscard

    public boolean isDiscard()

#### setDiscard

    public SessionCookieConfig setDiscard(boolean discard)

#### isSecure

    public boolean isSecure()

#### setSecure

    public SessionCookieConfig setSecure(boolean secure)

#### isHttpOnly

    public boolean isHttpOnly()

#### setHttpOnly

    public SessionCookieConfig setHttpOnly(boolean httpOnly)

#### getMaxAge

    public int getMaxAge()

#### setMaxAge

    public SessionCookieConfig setMaxAge(int maxAge)

#### getComment

    public String getComment()

#### setComment

    public SessionCookieConfig setComment(String comment)