public class AddStatusToResponse extends AbstractProfileAction
Status
content in a Response
obtained from
a lookup strategy, typically from the outbound message context.
If the message already contains status information, this action will overwrite it.
Options allows for the creation of a StatusMessage
either explicitly,
or via lookup strategy.
Modifier and Type | Class and Description |
---|---|
static class |
AddStatusToResponse.StatusCodeMappingFunction
A default method to map event IDs to SAML 2 StatusCode URIs based on
EventContext . |
Modifier and Type | Field and Description |
---|---|
private List<String> |
defaultStatusCodes
One or more status codes to insert.
|
private boolean |
detailedErrors
Whether to include detailed status information.
|
private com.google.common.base.Predicate<ProfileRequestContext> |
detailedErrorsCondition
Predicate determining whether detailed error information is permitted.
|
private org.slf4j.Logger |
log
Class logger.
|
private StatusResponseType |
response
Response to modify.
|
private com.google.common.base.Function<ProfileRequestContext,StatusResponseType> |
responseLookupStrategy
Strategy used to locate the
StatusResponseType to operate on. |
private com.google.common.base.Function<ProfileRequestContext,List<String>> |
statusCodesLookupStrategy
Optional method to obtain status codes.
|
private String |
statusMessage
A default status message to include.
|
private com.google.common.base.Function<ProfileRequestContext,String> |
statusMessageLookupStrategy
Optional method to obtain a status message.
|
Constructor and Description |
---|
AddStatusToResponse()
Constructor.
|
Modifier and Type | Method and Description |
---|---|
private void |
buildStatusCode(Status status,
List<String> codes)
Build and attach
StatusCode element. |
private void |
buildStatusMessage(Status status,
String message)
Build and attach
StatusMessage element. |
protected void |
doExecute(ProfileRequestContext profileRequestContext) |
protected boolean |
doPreExecute(ProfileRequestContext profileRequestContext) |
void |
setDetailedErrorsCondition(com.google.common.base.Predicate<ProfileRequestContext> condition)
Set the predicate used to determine the detailed errors condition.
|
void |
setResponseLookupStrategy(com.google.common.base.Function<ProfileRequestContext,StatusResponseType> strategy)
Set the strategy used to locate the
StatusResponseType to operate on. |
void |
setStatusCodes(List<String> codes)
Set the list of status code values to insert, ordered such that the top level code is first
and every other code will be nested inside the previous one.
|
void |
setStatusCodesLookupStrategy(com.google.common.base.Function<ProfileRequestContext,List<String>> strategy)
Set the optional strategy used to obtain status codes to include.
|
void |
setStatusMessage(String message)
Set a default status message to use in the event that error detail is off,
or no specific message is obtained.
|
void |
setStatusMessageLookupStrategy(com.google.common.base.Function<ProfileRequestContext,String> strategy)
Set the optional strategy used to obtain a status message to include.
|
doPostExecute, doPostExecute, execute, getHttpServletRequest, getHttpServletResponse, getLogPrefix, setHttpServletRequest, setHttpServletResponse
destroy, doDestroy, doInitialize, initialize, isDestroyed, isInitialized
@Nonnull private org.slf4j.Logger log
@Nonnull private com.google.common.base.Function<ProfileRequestContext,StatusResponseType> responseLookupStrategy
StatusResponseType
to operate on.@Nonnull private com.google.common.base.Predicate<ProfileRequestContext> detailedErrorsCondition
@Nullable private com.google.common.base.Function<ProfileRequestContext,List<String>> statusCodesLookupStrategy
@Nullable private com.google.common.base.Function<ProfileRequestContext,String> statusMessageLookupStrategy
@Nonnull @NonnullElements private List<String> defaultStatusCodes
private boolean detailedErrors
@Nullable private StatusResponseType response
public void setResponseLookupStrategy(@Nonnull com.google.common.base.Function<ProfileRequestContext,StatusResponseType> strategy)
StatusResponseType
to operate on.strategy
- strategy used to locate the StatusResponseType
to operate onpublic void setDetailedErrorsCondition(@Nonnull com.google.common.base.Predicate<ProfileRequestContext> condition)
condition
- predicate for detailed errors conditionpublic void setStatusCodesLookupStrategy(@Nullable com.google.common.base.Function<ProfileRequestContext,List<String>> strategy)
strategy
- strategy used to obtain status codespublic void setStatusMessageLookupStrategy(@Nullable com.google.common.base.Function<ProfileRequestContext,String> strategy)
strategy
- strategy used to obtain a status messagepublic void setStatusCodes(@Nonnull @NonnullElements List<String> codes)
codes
- list of status code values to insertpublic void setStatusMessage(@Nullable String message)
message
- default status messageprotected boolean doPreExecute(@Nonnull ProfileRequestContext profileRequestContext)
doPreExecute
in class AbstractProfileAction
protected void doExecute(@Nonnull ProfileRequestContext profileRequestContext)
doExecute
in class AbstractProfileAction
private void buildStatusCode(@Nonnull Status status, @Nonnull @NonnullElements List<String> codes)
StatusCode
element.status
- the element to attach tocodes
- the status codes to useprivate void buildStatusMessage(@Nonnull Status status, @Nonnull @NotEmpty String message)
StatusMessage
element.status
- the element to attach tomessage
- the message to setCopyright © 1999–2020 Shibboleth Consortium. All rights reserved.