Interface RequestDataValueProcessor
public interface RequestDataValueProcessor
A contract for inspecting and potentially modifying request data values such
as URL query parameters or form field values before they are rendered by a
view or before a redirect.
Implementations may use this contract for example as part of a solution to provide data integrity, confidentiality, protection against cross-site request forgery (CSRF), and others or for other tasks such as automatically adding a hidden field to all forms and URLs.
View technologies that support this contract can obtain an instance to
delegate to via RequestContext.getRequestDataValueProcessor()
.
- Since:
- 5.0
- Author:
- Rossen Stoyanchev
-
Method Summary
Modifier and TypeMethodDescriptiongetExtraHiddenFields
(ServerWebExchange exchange) Invoked after all form fields have been rendered.processAction
(ServerWebExchange exchange, String action, String httpMethod) Invoked when a new form action is rendered.processFormFieldValue
(ServerWebExchange exchange, String name, String value, String type) Invoked when a form field value is rendered.processUrl
(ServerWebExchange exchange, String url) Invoked when a URL is about to be rendered or redirected to.
-
Method Details
-
processAction
Invoked when a new form action is rendered.- Parameters:
exchange
- the current exchangeaction
- the form actionhttpMethod
- the form HTTP method- Returns:
- the action to use, possibly modified
-
processFormFieldValue
Invoked when a form field value is rendered.- Parameters:
exchange
- the current exchangename
- the form field namevalue
- the form field valuetype
- the form field type ("text", "hidden", etc.)- Returns:
- the form field value to use, possibly modified
-
getExtraHiddenFields
Invoked after all form fields have been rendered.- Parameters:
exchange
- the current exchange- Returns:
- additional hidden form fields to be added, or
null
-
processUrl
Invoked when a URL is about to be rendered or redirected to.- Parameters:
exchange
- the current exchangeurl
- the URL value- Returns:
- the URL to use, possibly modified
-