Class HTTPRedirectDeflateDecoder
java.lang.Object
net.shibboleth.shared.component.AbstractInitializableComponent
org.opensaml.messaging.decoder.AbstractMessageDecoder
org.opensaml.messaging.decoder.servlet.AbstractHttpServletRequestMessageDecoder
org.opensaml.messaging.decoder.servlet.BaseHttpServletRequestXMLMessageDecoder
org.opensaml.saml.common.binding.impl.BaseSAMLHttpServletRequestDecoder
org.opensaml.saml.saml2.binding.decoding.impl.HTTPRedirectDeflateDecoder
- All Implemented Interfaces:
Component,DestructableComponent,InitializableComponent,UnmodifiableComponent,MessageDecoder,HttpServletRequestMessageDecoder,SAMLMessageDecoder
public class HTTPRedirectDeflateDecoder
extends BaseSAMLHttpServletRequestDecoder
implements SAMLMessageDecoder
SAML 2.0 HTTP Redirect decoder using the DEFLATE encoding method.
This decoder only supports DEFLATE compression.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate classA subclass ofInflaterInputStreamwhich defaults in a no-wrapInflaterinstance and closes it when the stream is closed. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate BindingDescriptorOptionalBindingDescriptorto inject intoSAMLBindingContextcreated.private final org.slf4j.LoggerClass logger.Fields inherited from class org.opensaml.messaging.decoder.AbstractMessageDecoder
BASE_PROTOCOL_MESSAGE_LOGGER_CATEGORY -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected InputStreamdecodeMessage(String message) Base64 decodes the SAML message and then decompresses the message.protected voiddoDecode()Performs the decoding logic.Get an optionalBindingDescriptorto inject intoSAMLBindingContextcreated.Gets the SAML binding URI supported by this decoder.protected voidpopulateBindingContext(MessageContext messageContext) Populate the context which carries information specific to this binding.voidsetBindingDescriptor(BindingDescriptor descriptor) Set an optionalBindingDescriptorto inject intoSAMLBindingContextcreated.Methods inherited from class org.opensaml.messaging.decoder.servlet.BaseHttpServletRequestXMLMessageDecoder
decode, doInitialize, getParserPool, serializeMessageForLogging, setParserPool, unmarshallMessage, validateHttpRequestMethods inherited from class org.opensaml.messaging.decoder.servlet.AbstractHttpServletRequestMessageDecoder
getHttpServletRequest, getHttpServletRequestSupplier, setHttpServletRequestSupplierMethods inherited from class org.opensaml.messaging.decoder.AbstractMessageDecoder
getMessageContext, getMessageToLog, getProtocolMessageLogger, getProtocolMessageLoggerSubCategory, logDecodedMessage, setMessageContext, setProtocolMessageLoggerSubCategoryMethods inherited from class net.shibboleth.shared.component.AbstractInitializableComponent
checkComponentActive, checkSetterPreconditions, destroy, doDestroy, ifDestroyedThrowDestroyedComponentException, ifInitializedThrowUnmodifiabledComponentException, ifNotInitializedThrowUninitializedComponentException, initialize, isDestroyed, isInitializedMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface net.shibboleth.shared.component.DestructableComponent
destroy, isDestroyedMethods inherited from interface net.shibboleth.shared.component.InitializableComponent
initialize, isInitializedMethods inherited from interface org.opensaml.messaging.decoder.MessageDecoder
decode, getMessageContext
-
Field Details
-
log
@Nonnull private final org.slf4j.Logger logClass logger. -
bindingDescriptor
OptionalBindingDescriptorto inject intoSAMLBindingContextcreated.
-
-
Constructor Details
-
HTTPRedirectDeflateDecoder
public HTTPRedirectDeflateDecoder()
-
-
Method Details
-
getBindingURI
Gets the SAML binding URI supported by this decoder.- Specified by:
getBindingURIin interfaceSAMLMessageDecoder- Returns:
- SAML binding URI supported by this decoder
-
getBindingDescriptor
Get an optionalBindingDescriptorto inject intoSAMLBindingContextcreated.- Returns:
- binding descriptor
-
setBindingDescriptor
Set an optionalBindingDescriptorto inject intoSAMLBindingContextcreated.- Parameters:
descriptor- a binding descriptor
-
doDecode
Performs the decoding logic. By the time this is called, this decoder has already been initialized and checked to ensure that it has not been destroyed.- Specified by:
doDecodein classAbstractMessageDecoder- Throws:
MessageDecodingException- thrown if there is a problem decoding the message
-
decodeMessage
@Nonnull protected InputStream decodeMessage(@Nonnull String message) throws MessageDecodingException Base64 decodes the SAML message and then decompresses the message.- Parameters:
message- Base64 encoded, DEFALTE compressed, SAML message- Returns:
- the SAML message
- Throws:
MessageDecodingException- thrown if the message can not be decoded
-
populateBindingContext
Populate the context which carries information specific to this binding.- Parameters:
messageContext- the current message context
-