Class PopulateHttpClientSecurityParametersHandler
- java.lang.Object
-
- net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
-
- org.opensaml.messaging.handler.AbstractMessageHandler
-
- org.opensaml.security.messaging.impl.PopulateHttpClientSecurityParametersHandler
-
- All Implemented Interfaces:
net.shibboleth.utilities.java.support.component.Component,net.shibboleth.utilities.java.support.component.DestructableComponent,net.shibboleth.utilities.java.support.component.InitializableComponent,org.opensaml.messaging.handler.MessageHandler
public class PopulateHttpClientSecurityParametersHandler extends org.opensaml.messaging.handler.AbstractMessageHandlerHandler that resolves and populatesHttpClientSecurityParameterson aHttpClientSecurityContextcreated/accessed via a lookup function, by default as an immediate child context of the targetMessageContext.
-
-
Field Summary
Fields Modifier and Type Field Description private Predicate<org.opensaml.messaging.context.MessageContext>clientTLSPredicatePredicate which determines whether clientTLS credentials should be included in the resolved parameters.private Function<org.opensaml.messaging.context.MessageContext,List<org.opensaml.security.httpclient.HttpClientSecurityConfiguration>>configurationLookupStrategyStrategy used to look up a per-requestHttpClientSecurityConfigurationlist.private Function<org.opensaml.messaging.context.MessageContext,org.opensaml.security.messaging.HttpClientSecurityContext>existingParametersContextLookupStrategyStrategy used to look up an existingHttpClientSecurityContextto copy.private org.slf4j.LoggerlogClass logger.private org.opensaml.security.httpclient.HttpClientSecurityParametersResolverresolverResolver for parameters to store into context.private Function<org.opensaml.messaging.context.MessageContext,org.opensaml.security.messaging.HttpClientSecurityContext>securityParametersContextLookupStrategyStrategy used to look up theHttpClientSecurityContextto set the parameters for.
-
Constructor Summary
Constructors Constructor Description PopulateHttpClientSecurityParametersHandler()Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voiddoInitialize()protected voiddoInvoke(org.opensaml.messaging.context.MessageContext messageContext)protected booleandoPreInvoke(org.opensaml.messaging.context.MessageContext messageContext)protected voidpostProcessParams(org.opensaml.messaging.context.MessageContext messageContext, org.opensaml.security.httpclient.HttpClientSecurityParameters params)Post-process the resolved parameters.voidsetClientTLSPredicate(Predicate<org.opensaml.messaging.context.MessageContext> predicate)Set the predicate which determines whether clientTLS credentials should be included in the resolved parameters.voidsetConfigurationLookupStrategy(Function<org.opensaml.messaging.context.MessageContext,List<org.opensaml.security.httpclient.HttpClientSecurityConfiguration>> strategy)Set the strategy used to look up a per-requestHttpClientSecurityConfigurationlist.voidsetExistingParametersContextLookupStrategy(Function<org.opensaml.messaging.context.MessageContext,org.opensaml.security.messaging.HttpClientSecurityContext> strategy)Set the strategy used to look up an existingHttpClientSecurityContextto copy instead of actually resolving the parameters to set.voidsetHttpClientSecurityParametersResolver(org.opensaml.security.httpclient.HttpClientSecurityParametersResolver newResolver)Set the resolver to use for the parameters to store into the context.voidsetSecurityParametersContextLookupStrategy(Function<org.opensaml.messaging.context.MessageContext,org.opensaml.security.messaging.HttpClientSecurityContext> strategy)Set the strategy used to look up theHttpClientSecurityContextto set the parameters for.-
Methods inherited from class org.opensaml.messaging.handler.AbstractMessageHandler
doPostInvoke, doPostInvoke, getActivationCondition, getLogPrefix, invoke, setActivationCondition
-
Methods inherited from class net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
destroy, doDestroy, initialize, isDestroyed, isInitialized
-
-
-
-
Field Detail
-
log
@Nonnull private final org.slf4j.Logger log
Class logger.
-
securityParametersContextLookupStrategy
@Nonnull private Function<org.opensaml.messaging.context.MessageContext,org.opensaml.security.messaging.HttpClientSecurityContext> securityParametersContextLookupStrategy
Strategy used to look up theHttpClientSecurityContextto set the parameters for.
-
existingParametersContextLookupStrategy
@Nullable private Function<org.opensaml.messaging.context.MessageContext,org.opensaml.security.messaging.HttpClientSecurityContext> existingParametersContextLookupStrategy
Strategy used to look up an existingHttpClientSecurityContextto copy.
-
configurationLookupStrategy
@NonnullAfterInit private Function<org.opensaml.messaging.context.MessageContext,List<org.opensaml.security.httpclient.HttpClientSecurityConfiguration>> configurationLookupStrategy
Strategy used to look up a per-requestHttpClientSecurityConfigurationlist.
-
resolver
@NonnullAfterInit private org.opensaml.security.httpclient.HttpClientSecurityParametersResolver resolver
Resolver for parameters to store into context.
-
clientTLSPredicate
@Nullable private Predicate<org.opensaml.messaging.context.MessageContext> clientTLSPredicate
Predicate which determines whether clientTLS credentials should be included in the resolved parameters.
-
-
Method Detail
-
setClientTLSPredicate
public void setClientTLSPredicate(@Nullable Predicate<org.opensaml.messaging.context.MessageContext> predicate)Set the predicate which determines whether clientTLS credentials should be included in the resolved parameters.- Parameters:
predicate- clientTLS predicate
-
setSecurityParametersContextLookupStrategy
public void setSecurityParametersContextLookupStrategy(@Nonnull Function<org.opensaml.messaging.context.MessageContext,org.opensaml.security.messaging.HttpClientSecurityContext> strategy)Set the strategy used to look up theHttpClientSecurityContextto set the parameters for.- Parameters:
strategy- lookup strategy
-
setExistingParametersContextLookupStrategy
public void setExistingParametersContextLookupStrategy(@Nullable Function<org.opensaml.messaging.context.MessageContext,org.opensaml.security.messaging.HttpClientSecurityContext> strategy)Set the strategy used to look up an existingHttpClientSecurityContextto copy instead of actually resolving the parameters to set.- Parameters:
strategy- lookup strategy
-
setConfigurationLookupStrategy
public void setConfigurationLookupStrategy(@Nonnull Function<org.opensaml.messaging.context.MessageContext,List<org.opensaml.security.httpclient.HttpClientSecurityConfiguration>> strategy)Set the strategy used to look up a per-requestHttpClientSecurityConfigurationlist.- Parameters:
strategy- lookup strategy
-
setHttpClientSecurityParametersResolver
public void setHttpClientSecurityParametersResolver(@Nonnull org.opensaml.security.httpclient.HttpClientSecurityParametersResolver newResolver)Set the resolver to use for the parameters to store into the context.- Parameters:
newResolver- resolver to use
-
doInitialize
protected void doInitialize() throws net.shibboleth.utilities.java.support.component.ComponentInitializationException- Overrides:
doInitializein classnet.shibboleth.utilities.java.support.component.AbstractInitializableComponent- Throws:
net.shibboleth.utilities.java.support.component.ComponentInitializationException
-
doPreInvoke
protected boolean doPreInvoke(@Nonnull org.opensaml.messaging.context.MessageContext messageContext) throws org.opensaml.messaging.handler.MessageHandlerException- Overrides:
doPreInvokein classorg.opensaml.messaging.handler.AbstractMessageHandler- Throws:
org.opensaml.messaging.handler.MessageHandlerException
-
doInvoke
protected void doInvoke(@Nonnull org.opensaml.messaging.context.MessageContext messageContext) throws org.opensaml.messaging.handler.MessageHandlerException- Specified by:
doInvokein classorg.opensaml.messaging.handler.AbstractMessageHandler- Throws:
org.opensaml.messaging.handler.MessageHandlerException
-
postProcessParams
protected void postProcessParams(@Nonnull org.opensaml.messaging.context.MessageContext messageContext, @Nonnull org.opensaml.security.httpclient.HttpClientSecurityParameters params)Post-process the resolved parameters.- Parameters:
messageContext- the current message contextparams- the parameters to process
-
-