Package org.springframework.web.server.session

# Class HeaderWebSessionIdResolver

java.lang.Object
org.springframework.web.server.session.HeaderWebSessionIdResolver

All Implemented Interfaces:
  `WebSessionIdResolver`

public class HeaderWebSessionIdResolver extends Object implements WebSessionIdResolver
Request and response header-based `WebSessionIdResolver`.

Since:
  5.0
Author:
  Greg Turnquist, Rob Winch

## Field Summary

Fields
Modifier and Type
Field
Description
`static final String`
`DEFAULT_HEADER_NAME`
Default value for `setHeaderName(String)`.

## Constructor Summary

Constructors
Constructor
Description
`HeaderWebSessionIdResolver()`

## Method Summary

Modifier and Type
Method
Description
`void`
`expireSession(ServerWebExchange exchange)`
Instruct the client to end the current session.
`String`
`getHeaderName()`
Get the configured header name.
`List<String>`
`resolveSessionIds(ServerWebExchange exchange)`
Resolve the session IDs associated with the request.
`void`
`setHeaderName(String headerName)`
Set the name of the session header to use for the session ID.
`void`
`setSessionId(ServerWebExchange exchange, String id)`
Send the given session ID to the client.

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

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

## Field Details

### DEFAULT_HEADER_NAME

public static final String DEFAULT_HEADER_NAME
Default value for `setHeaderName(String)`.

See Also:
  - Constant Field Values

## Constructor Details

### HeaderWebSessionIdResolver

public HeaderWebSessionIdResolver()

## Method Details

### setHeaderName

public void setHeaderName(String headerName)
Set the name of the session header to use for the session ID.

The name is used to extract the session ID from the request headers as well to set the session ID on the response headers.

By default set to `DEFAULT_HEADER_NAME`

Parameters:
  `headerName` - the header name

### getHeaderName

public String getHeaderName()
Get the configured header name.

Returns:
  the configured header name

### resolveSessionIds

public List<String> resolveSessionIds(ServerWebExchange exchange)
Description copied from interface: `WebSessionIdResolver`
Resolve the session IDs associated with the request.

Specified by:
  `resolveSessionIds` in interface `WebSessionIdResolver`
Parameters:
  `exchange` - the current exchange
Returns:
  the session IDs or an empty list

### setSessionId

public void setSessionId(ServerWebExchange exchange, String id)
Description copied from interface: `WebSessionIdResolver`
Send the given session ID to the client.

Specified by:
  `setSessionId` in interface `WebSessionIdResolver`
Parameters:
  `exchange` - the current exchange
  `id` - the session ID

### expireSession

public void expireSession(ServerWebExchange exchange)
Description copied from interface: `WebSessionIdResolver`
Instruct the client to end the current session.

Specified by:
  `expireSession` in interface `WebSessionIdResolver`
Parameters:
  `exchange` - the current exchange