Package net.shibboleth.spring.metadata
Class HTTPMetadataProvidersParserSupport
java.lang.Object
net.shibboleth.spring.metadata.HTTPMetadataProvidersParserSupport
Helper class for Spring configuration of HTTP metadata providers.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected static BeanDefinitionBuilderbuildCommonClientBuilder(Element element, ParserContext parserContext, Class<?> clientBuildClass, BeanDefinition httpClientSecurityParameters) Build aBeanDefinitionBuilderfor aHttpClientFactoryBeanand populate it from the "standard" attributes which are shared between the Dynamic and Static providers.protected static BeanDefinitionbuildHttpClientSecurityParameters(Element tlsTrustEngine, String parametersRef, ParserContext parserContext) Build the definition of the HttpClientSecurityParameters as a factory bean which merges the inline TLS TrustEngine and parameters ref inputs.protected static BeanDefinitionbuildTLSSocketFactory(Element element, ParserContext parserContext, BeanDefinition httpClientSecurityParameters) Build the definition of the HTTPClientBuilder which contains all our configuration.protected static BeanDefinitionparseTLSTrustEngine(Element tlsTrustEngine, ParserContext parserContext) Build the BeanDefinition of theHttpClientSecurityParameterswhich contains the TLS trust engine provided.
-
Field Details
-
METADATA_URL
The URL for the metadata.- See Also:
-
TLS_TRUST_ENGINE_ELEMENT_NAME
TLSTrustEngine element name. -
LOG
@Nonnull private static final org.slf4j.Logger LOGClass logger.
-
-
Constructor Details
-
HTTPMetadataProvidersParserSupport
private HTTPMetadataProvidersParserSupport()Constructor.
-
-
Method Details
-
buildHttpClientSecurityParameters
@Nonnull protected static BeanDefinition buildHttpClientSecurityParameters(@Nullable Element tlsTrustEngine, @Nullable String parametersRef, @Nonnull ParserContext parserContext) Build the definition of the HttpClientSecurityParameters as a factory bean which merges the inline TLS TrustEngine and parameters ref inputs.- Parameters:
tlsTrustEngine- the element defining the inline TLS TrustEngineparametersRef- the security parameters bean referenceparserContext- context- Returns:
- the bean definition with the parameters.
-
buildTLSSocketFactory
@Nonnull protected static BeanDefinition buildTLSSocketFactory(@Nonnull Element element, @Nonnull ParserContext parserContext, @Nullable BeanDefinition httpClientSecurityParameters) Build the definition of the HTTPClientBuilder which contains all our configuration.- Parameters:
element- the HTTPMetadataProvider parser.parserContext- contexthttpClientSecurityParameters- a bean definition- Returns:
- the bean definition with the parameters.
-
parseTLSTrustEngine
@Nullable protected static BeanDefinition parseTLSTrustEngine(@Nullable Element tlsTrustEngine, @Nonnull ParserContext parserContext) Build the BeanDefinition of theHttpClientSecurityParameterswhich contains the TLS trust engine provided.One of the first two parameters must be non-null.
- Parameters:
tlsTrustEngine- if present, the TLSTrustEngine elementparserContext- context- Returns:
- the bean definition
-
buildCommonClientBuilder
@Nonnull protected static BeanDefinitionBuilder buildCommonClientBuilder(@Nonnull Element element, @Nonnull ParserContext parserContext, @Nonnull Class<?> clientBuildClass, @Nullable BeanDefinition httpClientSecurityParameters) Build aBeanDefinitionBuilderfor aHttpClientFactoryBeanand populate it from the "standard" attributes which are shared between the Dynamic and Static providers. non standard defaults are applied by the caller.- Parameters:
element- the configurationparserContext- contextclientBuildClass- the type of builder to create.httpClientSecurityParameters- the client security parameters to be used- Returns:
- an appropriate builder
-