Class DefaultPreviewTokenWebRequestResolver
- java.lang.Object
-
- com.broadleafcommerce.data.tracking.core.preview.context.DefaultPreviewTokenWebRequestResolver
-
- All Implemented Interfaces:
PreviewTokenWebRequestResolver
public class DefaultPreviewTokenWebRequestResolver extends Object implements PreviewTokenWebRequestResolver
The default implementation ofPreviewTokenWebRequestResolver
that makes use of thePreviewTokenDecoder
to decode aPreviewToken
from the providedNativeWebRequest
.This resolver will look for a header named
getHeaderName()
or a request parameter namedgetParameterName()
to detect a preview tokenString
. If a token is found, the resolver will use the decoder to convert it into aPreviewToken
. If successfully decoded, the resolver will validate the token is a match for the providedContextRequest
andOperationType
.If this resolver either fails to detect a token, or fails to decode a found token, then it will return
null
.- Author:
- Nick Crum (ncrum)
-
-
Field Summary
Fields Modifier and Type Field Description static String
DEFAULT_HEADER_NAME
static String
DEFAULT_PARAMETER_NAME
-
Constructor Summary
Constructors Constructor Description DefaultPreviewTokenWebRequestResolver(PreviewTokenDecoder decoder)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected PreviewToken
decodeTokenString(String tokenString)
protected PreviewTokenDecoder
getDecoder()
protected String
getHeaderName()
protected String
getParameterName()
protected String
parseRequestHeader(org.springframework.web.context.request.NativeWebRequest webRequest)
protected String
parseRequestParameter(org.springframework.web.context.request.NativeWebRequest webRequest)
PreviewToken
resolve(org.springframework.web.context.request.NativeWebRequest webRequest)
Attempts to resolve aPreviewToken
for the provided request, operation type, and context.void
setHeaderName(String headerName)
void
setParameterName(String parameterName)
-
-
-
Field Detail
-
DEFAULT_HEADER_NAME
public static final String DEFAULT_HEADER_NAME
- See Also:
- Constant Field Values
-
DEFAULT_PARAMETER_NAME
public static final String DEFAULT_PARAMETER_NAME
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
DefaultPreviewTokenWebRequestResolver
public DefaultPreviewTokenWebRequestResolver(PreviewTokenDecoder decoder)
-
-
Method Detail
-
resolve
public PreviewToken resolve(org.springframework.web.context.request.NativeWebRequest webRequest)
Description copied from interface:PreviewTokenWebRequestResolver
Attempts to resolve aPreviewToken
for the provided request, operation type, and context. If no preview token is found, or if it is found to be invalid, this method is expected to returnnull
.- Specified by:
resolve
in interfacePreviewTokenWebRequestResolver
- Parameters:
webRequest
- the current web request- Returns:
- a
PreviewToken
ornull
-
decodeTokenString
protected PreviewToken decodeTokenString(String tokenString)
-
parseRequestHeader
protected String parseRequestHeader(org.springframework.web.context.request.NativeWebRequest webRequest)
-
parseRequestParameter
protected String parseRequestParameter(org.springframework.web.context.request.NativeWebRequest webRequest)
-
getDecoder
protected PreviewTokenDecoder getDecoder()
-
getHeaderName
protected String getHeaderName()
-
setHeaderName
public void setHeaderName(String headerName)
-
getParameterName
protected String getParameterName()
-
setParameterName
public void setParameterName(String parameterName)
-
-