public class AddStatusToResponse extends AbstractProfileAction
Status content in a StatusResponseType 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, setHttpServletResponsedestroy, doDestroy, doInitialize, initialize, isDestroyed, isInitializedclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitinitialize, 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 AbstractProfileActionprotected void doExecute(@Nonnull ProfileRequestContext profileRequestContext)
doExecute in class AbstractProfileActionprivate void buildStatusCode(@Nonnull Status status, @Nonnull @NonnullElements List<String> codes)
StatusCode element.status - the element to attach tocodes - the status codes to useCopyright © 1999–2019 Shibboleth Consortium. All rights reserved.