io.undertow.server.session

## Class PathParameterSessionConfig

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

All Implemented Interfaces:
  SessionConfig

    public class PathParameterSessionConfig
    extends Object
    implements SessionConfig

Session config that is based on a path parameter and URL rewriting

Author:
  Stuart Douglas

### Nested Class Summary

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

`SessionConfig.SessionCookieSource`

### Field Summary

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

`ATTACHMENT_KEY`

### Constructor Summary

Constructors
Constructor and Description
`PathParameterSessionConfig()`
`PathParameterSessionConfig(String name)`

### 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` `rewriteUrl(String url, String sessionId)` Return the specified URL with the specified session identifier suitably encoded.
`SessionConfig.SessionCookieSource` `sessionCookieSource(HttpServerExchange exchange)`
`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`

### Constructor Detail

#### PathParameterSessionConfig

    public PathParameterSessionConfig(String name)

#### PathParameterSessionConfig

    public PathParameterSessionConfig()

### Method Detail

#### 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`

#### rewriteUrl

    public String rewriteUrl(String url,
                             String sessionId)

Return the specified URL with the specified session identifier suitably encoded.

Specified by:
  `rewriteUrl` in interface `SessionConfig`
Parameters:
  `url` - URL to be encoded with the session id
  `sessionId` - Session id to be included in the encoded URL