Package org.springframework.security.web.server.savedrequest

# Class CookieServerRequestCache

java.lang.Object
org.springframework.security.web.server.savedrequest.CookieServerRequestCache

All Implemented Interfaces:
  `ServerRequestCache`

public class CookieServerRequestCache extends Object implements ServerRequestCache
An implementation of `ServerRequestCache` that saves the requested URI in a cookie.

Since:
  5.4

## Constructor Summary

Constructors
Constructor
Description
`CookieServerRequestCache()`

## Method Summary

Modifier and Type
Method
Description
`reactor.core.publisher.Mono<URI>`
`getRedirectUri(org.springframework.web.server.ServerWebExchange exchange)`
Get the URI that can be redirected to trigger the saved request to be used
`reactor.core.publisher.Mono<org.springframework.http.server.reactive.ServerHttpRequest>`
`removeMatchingRequest(org.springframework.web.server.ServerWebExchange exchange)`
If the provided `ServerWebExchange` matches the saved `ServerHttpRequest` gets the saved `ServerHttpRequest`
`reactor.core.publisher.Mono<Void>`
`saveRequest(org.springframework.web.server.ServerWebExchange exchange)`
Save the `ServerHttpRequest`
`void`
`setCookieCustomizer(Consumer<org.springframework.http.ResponseCookie.ResponseCookieBuilder> cookieCustomizer)`
Sets the `Consumer`, allowing customization of cookie.
`void`
`setSaveRequestMatcher(ServerWebExchangeMatcher saveRequestMatcher)`
Sets the matcher to determine if the request should be saved.

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

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

## Constructor Details

### CookieServerRequestCache

public CookieServerRequestCache()

## Method Details

### setSaveRequestMatcher

public void setSaveRequestMatcher(ServerWebExchangeMatcher saveRequestMatcher)
Sets the matcher to determine if the request should be saved. The default is to match on any GET request.

Parameters:
  `saveRequestMatcher` - the `ServerWebExchangeMatcher` that determines if the request should be saved

### saveRequest

public reactor.core.publisher.Mono<Void> saveRequest(org.springframework.web.server.ServerWebExchange exchange)
Description copied from interface: `ServerRequestCache`
Save the `ServerHttpRequest`

Specified by:
  `saveRequest` in interface `ServerRequestCache`
Parameters:
  `exchange` - the exchange to save
Returns:
  Return a `Mono<Void>` which only replays complete and error signals from this `Mono`.

### getRedirectUri

public reactor.core.publisher.Mono<URI> getRedirectUri(org.springframework.web.server.ServerWebExchange exchange)
Description copied from interface: `ServerRequestCache`
Get the URI that can be redirected to trigger the saved request to be used

Specified by:
  `getRedirectUri` in interface `ServerRequestCache`
Parameters:
  `exchange` - the exchange to obtain the saved `ServerHttpRequest` from
Returns:
  the URI that can be redirected to trigger the saved request to be used

### removeMatchingRequest

public reactor.core.publisher.Mono<org.springframework.http.server.reactive.ServerHttpRequest> removeMatchingRequest(org.springframework.web.server.ServerWebExchange exchange)
Description copied from interface: `ServerRequestCache`
If the provided `ServerWebExchange` matches the saved `ServerHttpRequest` gets the saved `ServerHttpRequest`

Specified by:
  `removeMatchingRequest` in interface `ServerRequestCache`
Parameters:
  `exchange` - the exchange to obtain the request from
Returns:
  the `ServerHttpRequest`

### setCookieCustomizer

public void setCookieCustomizer(Consumer<org.springframework.http.ResponseCookie.ResponseCookieBuilder> cookieCustomizer)
Sets the `Consumer`, allowing customization of cookie.

Parameters:
  `cookieCustomizer` - customize for cookie
Since:
  6.4