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:
Component,DestructableComponent,InitializableComponent,MessageHandler
public class PopulateHttpClientSecurityParametersHandler extends AbstractMessageHandler
Handler 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<MessageContext>clientTLSPredicatePredicate which determines whether clientTLS credentials should be included in the resolved parameters.private Function<MessageContext,List<HttpClientSecurityConfiguration>>configurationLookupStrategyStrategy used to look up a per-requestHttpClientSecurityConfigurationlist.private Function<MessageContext,HttpClientSecurityContext>existingParametersContextLookupStrategyStrategy used to look up an existingHttpClientSecurityContextto copy.private org.slf4j.LoggerlogClass logger.private HttpClientSecurityParametersResolverresolverResolver for parameters to store into context.private Function<MessageContext,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(MessageContext messageContext)protected booleandoPreInvoke(MessageContext messageContext)protected voidpostProcessParams(MessageContext messageContext, HttpClientSecurityParameters params)Post-process the resolved parameters.voidsetClientTLSPredicate(Predicate<MessageContext> predicate)Set the predicate which determines whether clientTLS credentials should be included in the resolved parameters.voidsetConfigurationLookupStrategy(Function<MessageContext,List<HttpClientSecurityConfiguration>> strategy)Set the strategy used to look up a per-requestHttpClientSecurityConfigurationlist.voidsetExistingParametersContextLookupStrategy(Function<MessageContext,HttpClientSecurityContext> strategy)Set the strategy used to look up an existingHttpClientSecurityContextto copy instead of actually resolving the parameters to set.voidsetHttpClientSecurityParametersResolver(HttpClientSecurityParametersResolver newResolver)Set the resolver to use for the parameters to store into the context.voidsetSecurityParametersContextLookupStrategy(Function<MessageContext,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
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface net.shibboleth.utilities.java.support.component.InitializableComponent
initialize, isInitialized
-
-
-
-
Field Detail
-
log
@Nonnull private final org.slf4j.Logger log
Class logger.
-
securityParametersContextLookupStrategy
@Nonnull private Function<MessageContext,HttpClientSecurityContext> securityParametersContextLookupStrategy
Strategy used to look up theHttpClientSecurityContextto set the parameters for.
-
existingParametersContextLookupStrategy
@Nullable private Function<MessageContext,HttpClientSecurityContext> existingParametersContextLookupStrategy
Strategy used to look up an existingHttpClientSecurityContextto copy.
-
configurationLookupStrategy
@NonnullAfterInit private Function<MessageContext,List<HttpClientSecurityConfiguration>> configurationLookupStrategy
Strategy used to look up a per-requestHttpClientSecurityConfigurationlist.
-
resolver
@NonnullAfterInit private HttpClientSecurityParametersResolver resolver
Resolver for parameters to store into context.
-
clientTLSPredicate
@Nullable private Predicate<MessageContext> clientTLSPredicate
Predicate which determines whether clientTLS credentials should be included in the resolved parameters.
-
-
Method Detail
-
setClientTLSPredicate
public void setClientTLSPredicate(@Nullable Predicate<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<MessageContext,HttpClientSecurityContext> strategy)Set the strategy used to look up theHttpClientSecurityContextto set the parameters for.- Parameters:
strategy- lookup strategy
-
setExistingParametersContextLookupStrategy
public void setExistingParametersContextLookupStrategy(@Nullable Function<MessageContext,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<MessageContext,List<HttpClientSecurityConfiguration>> strategy)Set the strategy used to look up a per-requestHttpClientSecurityConfigurationlist.- Parameters:
strategy- lookup strategy
-
setHttpClientSecurityParametersResolver
public void setHttpClientSecurityParametersResolver(@Nonnull 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 ComponentInitializationException- Overrides:
doInitializein classAbstractInitializableComponent- Throws:
ComponentInitializationException
-
doPreInvoke
protected boolean doPreInvoke(@Nonnull MessageContext messageContext) throws MessageHandlerException- Overrides:
doPreInvokein classAbstractMessageHandler- Throws:
MessageHandlerException
-
doInvoke
protected void doInvoke(@Nonnull MessageContext messageContext) throws MessageHandlerException- Specified by:
doInvokein classAbstractMessageHandler- Throws:
MessageHandlerException
-
postProcessParams
protected void postProcessParams(@Nonnull MessageContext messageContext, @Nonnull HttpClientSecurityParameters params)Post-process the resolved parameters.- Parameters:
messageContext- the current message contextparams- the parameters to process
-
-