[java-opensaml] 10/10: IDP-1793 Use Suppliers for HttpRequest/Response
Rod Widdowson
rdw at steadingsoftware.com
Tue Aug 2 19:34:48 UTC 2022
This is an automated email from the git hooks/post-receive script.
rdw pushed a commit to branch dev/4/IDP-1793
in repository java-opensaml.
View the commit online:
http://git.shibboleth.net/view/?p=java-opensaml.git;a=commit;h=2ab35008859b10e52b31992578c0ab45e7c2de8c
commit 2ab35008859b10e52b31992578c0ab45e7c2de8c
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Tue Aug 2 20:22:41 2022 +0100
IDP-1793 Use Suppliers for HttpRequest/Response
https://shibboleth.atlassian.net/browse/IDP-1793
org.opensaml.messaging.encoder.servlet.HttpServletResponseMessageEncoder (interface)
org.opensaml.messaging.encoder.servlet.AbstractHttpServletResponseMessageEncoder (base)
Gain setters for a Supplier for the HttpResponse, the setter for the raw object being deprecated.
Additionally the base class gains a getter for the Supplier.
---
.../AbstractHttpServletResponseMessageEncoder.java | 69 +++++++++++++++++-----
.../servlet/HttpServletResponseMessageEncoder.java | 20 +++++--
.../binding/encoding/impl/HTTPPostEncoderTest.java | 5 +-
.../encoding/impl/HTTPSOAP11EncoderTest.java | 5 +-
.../binding/encoding/impl/HTTPPostEncoderTest.java | 7 ++-
.../impl/HTTPPostSimpleSignEncoderTest.java | 9 ++-
.../impl/HTTPRedirectDeflateEncoderTest.java | 23 ++++----
.../encoding/impl/HTTPSOAP11EncoderTest.java | 7 ++-
...SAML2HTTPPostSimpleSignSecurityHandlerTest.java | 3 +-
...edirectDeflateSignatureSecurityHandlerTest.java | 3 +-
10 files changed, 110 insertions(+), 41 deletions(-)
diff --git a/opensaml-messaging-api/src/main/java/org/opensaml/messaging/encoder/servlet/AbstractHttpServletResponseMessageEncoder.java b/opensaml-messaging-api/src/main/java/org/opensaml/messaging/encoder/servlet/AbstractHttpServletResponseMessageEncoder.java
index 2ddf37283..e58ffad74 100644
--- a/opensaml-messaging-api/src/main/java/org/opensaml/messaging/encoder/servlet/AbstractHttpServletResponseMessageEncoder.java
+++ b/opensaml-messaging-api/src/main/java/org/opensaml/messaging/encoder/servlet/AbstractHttpServletResponseMessageEncoder.java
@@ -17,13 +17,20 @@
package org.opensaml.messaging.encoder.servlet;
+import java.util.function.Supplier;
+
import javax.annotation.Nullable;
import javax.servlet.http.HttpServletResponse;
+import org.opensaml.messaging.encoder.AbstractMessageEncoder;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
import net.shibboleth.utilities.java.support.component.ComponentSupport;
-
-import org.opensaml.messaging.encoder.AbstractMessageEncoder;
+import net.shibboleth.utilities.java.support.net.ThreadLocalHttpServletResponseProxy;
+import net.shibboleth.utilities.java.support.primitive.DeprecationSupport;
+import net.shibboleth.utilities.java.support.primitive.DeprecationSupport.ObjectType;
/**
* Abstract implementation of {@link HttpServletResponseMessageEncoder}.
@@ -31,34 +38,64 @@ import org.opensaml.messaging.encoder.AbstractMessageEncoder;
public abstract class AbstractHttpServletResponseMessageEncoder extends AbstractMessageEncoder
implements HttpServletResponseMessageEncoder {
- /** The HTTP servlet response. */
- @Nullable private HttpServletResponse response;
+ /** Logger. */
+ private final Logger log = LoggerFactory.getLogger(AbstractHttpServletResponseMessageEncoder.class);
- /** {@inheritDoc} */
+ /** Supplier for the Current HTTP servlet response, if available. */
+ @Nullable private Supplier<HttpServletResponse> httpServletResponseSupplier;
+
+ /**
+ * {@inheritDoc}
+ */
@Nullable public HttpServletResponse getHttpServletResponse() {
- return response;
+ if (httpServletResponseSupplier == null) {
+ return null;
+ }
+ return httpServletResponseSupplier.get();
}
-
- /** {@inheritDoc} */
- public synchronized void setHttpServletResponse(@Nullable final HttpServletResponse servletResponse) {
+
+ /**
+ * {@inheritDoc}
+ */
+ public void setHttpServletResponseSupplier(@Nullable final Supplier<HttpServletResponse> supplier) {
ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
- ComponentSupport.ifDestroyedThrowDestroyedComponentException(this);
- response = servletResponse;
+ httpServletResponseSupplier = supplier;
}
- /** {@inheritDoc} */
- protected void doDestroy() {
- response = null;
+ /**
+ * Get the supplier for the current HTTP response if available.
+ *
+ * @return the supplier for the current HTTP response or null
+ */
+ @Nullable public Supplier<HttpServletResponse> getHttpServletResponseSupplier() {
+ return httpServletResponseSupplier;
+ }
- super.doDestroy();
+ /**
+ * {@inheritDoc}
+ */
+ @Deprecated(since = "4.3", forRemoval = true)
+ public void setHttpServletResponse(@Nullable final HttpServletResponse response) {
+ ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
+
+ DeprecationSupport.warnOnce(ObjectType.METHOD, "setHttpServletResponse",
+ getClass().getCanonicalName(), "setHttpServletResponseSupplier");
+ if (response != null && !(response instanceof ThreadLocalHttpServletResponseProxy)) {
+ log.warn("Unsafe HttpServletRequest injected");
+ }
+ httpServletResponseSupplier = new Supplier<>() {
+ public HttpServletResponse get() {
+ return response;
+ };
+ };
}
/** {@inheritDoc} */
protected void doInitialize() throws ComponentInitializationException {
super.doInitialize();
- if (response == null) {
+ if (getHttpServletResponse() == null) {
throw new ComponentInitializationException("HTTP servlet response cannot be null");
}
}
diff --git a/opensaml-messaging-api/src/main/java/org/opensaml/messaging/encoder/servlet/HttpServletResponseMessageEncoder.java b/opensaml-messaging-api/src/main/java/org/opensaml/messaging/encoder/servlet/HttpServletResponseMessageEncoder.java
index 61d3bad2c..ee3f48e8c 100644
--- a/opensaml-messaging-api/src/main/java/org/opensaml/messaging/encoder/servlet/HttpServletResponseMessageEncoder.java
+++ b/opensaml-messaging-api/src/main/java/org/opensaml/messaging/encoder/servlet/HttpServletResponseMessageEncoder.java
@@ -17,6 +17,8 @@
package org.opensaml.messaging.encoder.servlet;
+import java.util.function.Supplier;
+
import javax.annotation.Nullable;
import javax.servlet.http.HttpServletResponse;
@@ -28,17 +30,27 @@ import org.opensaml.messaging.encoder.MessageEncoder;
public interface HttpServletResponseMessageEncoder extends MessageEncoder {
/**
- * Get the HTTP servlet response on which to operate.
- *
- * @return the HTTP servlet response
+ * Get the current Http Servlet response if available.
+ *
+ * @return current Http Servlet response or null
*/
@Nullable HttpServletResponse getHttpServletResponse();
/**
- * Set the HTTP servlet response on which to operate.
+ * Set the Http servlet response on which to operate.
*
* @param response the HTTP servlet response
*/
+ @Deprecated(forRemoval = true, since="4.3")
void setHttpServletResponse(@Nullable final HttpServletResponse response);
+ /**
+ * Set the supplier for the HTTP servlet response on which to operate.
+ *
+ * @param responseSupplier the supplier for the HTTP servlet response
+ */
+ default void setHttpServletResponseSupplier(@Nullable final Supplier<HttpServletResponse> responseSupplier) {
+ setHttpServletResponse(responseSupplier.get());
+ }
+
}
\ No newline at end of file
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml1/binding/encoding/impl/HTTPPostEncoderTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml1/binding/encoding/impl/HTTPPostEncoderTest.java
index f56d5969d..16db65ceb 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml1/binding/encoding/impl/HTTPPostEncoderTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml1/binding/encoding/impl/HTTPPostEncoderTest.java
@@ -20,6 +20,9 @@ package org.opensaml.saml.saml1.binding.encoding.impl;
import java.io.ByteArrayInputStream;
import java.time.Instant;
import java.util.List;
+import java.util.function.Supplier;
+
+import javax.servlet.http.HttpServletResponse;
import org.apache.velocity.app.VelocityEngine;
import org.apache.velocity.runtime.RuntimeConstants;
@@ -94,7 +97,7 @@ public class HTTPPostEncoderTest extends XMLObjectBaseTestCase {
HTTPPostEncoder encoder = new HTTPPostEncoder();
encoder.setMessageContext(messageContext);
- encoder.setHttpServletResponse(response);
+ encoder.setHttpServletResponseSupplier(new Supplier<>() {public HttpServletResponse get() {return response;}});
encoder.setVelocityEngine(velocityEngine);
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml1/binding/encoding/impl/HTTPSOAP11EncoderTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml1/binding/encoding/impl/HTTPSOAP11EncoderTest.java
index 4c843e985..820db710e 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml1/binding/encoding/impl/HTTPSOAP11EncoderTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml1/binding/encoding/impl/HTTPSOAP11EncoderTest.java
@@ -19,6 +19,9 @@ package org.opensaml.saml.saml1.binding.encoding.impl;
import java.io.ByteArrayInputStream;
import java.time.Instant;
+import java.util.function.Supplier;
+
+import javax.servlet.http.HttpServletResponse;
import org.opensaml.core.testing.XMLObjectBaseTestCase;
import org.opensaml.core.xml.XMLObject;
@@ -73,7 +76,7 @@ public class HTTPSOAP11EncoderTest extends XMLObjectBaseTestCase {
HTTPSOAP11Encoder encoder = new HTTPSOAP11Encoder();
encoder.setMessageContext(messageContext);
- encoder.setHttpServletResponse(response);
+ encoder.setHttpServletResponseSupplier(new Supplier<>() {public HttpServletResponse get() {return response;}});
encoder.initialize();
encoder.prepareContext();
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/encoding/impl/HTTPPostEncoderTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/encoding/impl/HTTPPostEncoderTest.java
index ba09dccba..3b29ddf27 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/encoding/impl/HTTPPostEncoderTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/encoding/impl/HTTPPostEncoderTest.java
@@ -20,6 +20,9 @@ package org.opensaml.saml.saml2.binding.encoding.impl;
import java.io.ByteArrayInputStream;
import java.time.Instant;
import java.util.List;
+import java.util.function.Supplier;
+
+import javax.servlet.http.HttpServletResponse;
import org.apache.velocity.app.VelocityEngine;
import org.apache.velocity.runtime.RuntimeConstants;
@@ -114,7 +117,7 @@ public class HTTPPostEncoderTest extends XMLObjectBaseTestCase {
HTTPPostEncoder encoder = new HTTPPostEncoder();
encoder.setMessageContext(messageContext);
- encoder.setHttpServletResponse(response);
+ encoder.setHttpServletResponseSupplier(new Supplier<>() {public HttpServletResponse get() {return response;}});
encoder.setVelocityEngine(velocityEngine);
@@ -208,7 +211,7 @@ public class HTTPPostEncoderTest extends XMLObjectBaseTestCase {
HTTPPostEncoder encoder = new HTTPPostEncoder();
encoder.setMessageContext(messageContext);
- encoder.setHttpServletResponse(response);
+ encoder.setHttpServletResponseSupplier(new Supplier<>() {public HttpServletResponse get() {return response;}});
encoder.setVelocityEngine(velocityEngine);
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/encoding/impl/HTTPPostSimpleSignEncoderTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/encoding/impl/HTTPPostSimpleSignEncoderTest.java
index 4f2091d42..44e00feb4 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/encoding/impl/HTTPPostSimpleSignEncoderTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/encoding/impl/HTTPPostSimpleSignEncoderTest.java
@@ -21,6 +21,9 @@ import java.io.ByteArrayInputStream;
import java.security.KeyPair;
import java.time.Instant;
import java.util.List;
+import java.util.function.Supplier;
+
+import javax.servlet.http.HttpServletResponse;
import org.apache.velocity.app.VelocityEngine;
import org.apache.velocity.runtime.RuntimeConstants;
@@ -124,7 +127,7 @@ public class HTTPPostSimpleSignEncoderTest extends XMLObjectBaseTestCase {
HTTPPostSimpleSignEncoder encoder = new HTTPPostSimpleSignEncoder();
encoder.setMessageContext(messageContext);
- encoder.setHttpServletResponse(response);
+ encoder.setHttpServletResponseSupplier(new Supplier<>() {public HttpServletResponse get() {return response;}});
encoder.setVelocityEngine(velocityEngine);
@@ -218,7 +221,7 @@ public class HTTPPostSimpleSignEncoderTest extends XMLObjectBaseTestCase {
HTTPPostSimpleSignEncoder encoder = new HTTPPostSimpleSignEncoder();
encoder.setMessageContext(messageContext);
- encoder.setHttpServletResponse(response);
+ encoder.setHttpServletResponseSupplier(new Supplier<>() {public HttpServletResponse get() {return response;}});
encoder.setVelocityEngine(velocityEngine);
@@ -320,7 +323,7 @@ public class HTTPPostSimpleSignEncoderTest extends XMLObjectBaseTestCase {
HTTPPostSimpleSignEncoder encoder = new HTTPPostSimpleSignEncoder();
encoder.setMessageContext(messageContext);
- encoder.setHttpServletResponse(response);
+ encoder.setHttpServletResponseSupplier(new Supplier<>() {public HttpServletResponse get() {return response;}});
encoder.setVelocityEngine(velocityEngine);
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/encoding/impl/HTTPRedirectDeflateEncoderTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/encoding/impl/HTTPRedirectDeflateEncoderTest.java
index 85b25793d..4d5398b69 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/encoding/impl/HTTPRedirectDeflateEncoderTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/encoding/impl/HTTPRedirectDeflateEncoderTest.java
@@ -21,9 +21,12 @@ import java.io.ByteArrayInputStream;
import java.security.KeyPair;
import java.time.Instant;
import java.util.Map;
+import java.util.function.Supplier;
import java.util.zip.Inflater;
import java.util.zip.InflaterInputStream;
+import javax.servlet.http.HttpServletResponse;
+
import org.opensaml.core.testing.XMLObjectBaseTestCase;
import org.opensaml.messaging.context.MessageContext;
import org.opensaml.saml.common.SAMLObjectBuilder;
@@ -101,7 +104,7 @@ public class HTTPRedirectDeflateEncoderTest extends XMLObjectBaseTestCase {
HTTPRedirectDeflateEncoder encoder = new HTTPRedirectDeflateEncoder();
encoder.setMessageContext(messageContext);
- encoder.setHttpServletResponse(response);
+ encoder.setHttpServletResponseSupplier(new Supplier<>() {public HttpServletResponse get() {return response;}});
encoder.initialize();
encoder.prepareContext();
@@ -178,7 +181,7 @@ public class HTTPRedirectDeflateEncoderTest extends XMLObjectBaseTestCase {
HTTPRedirectDeflateEncoder encoder = new HTTPRedirectDeflateEncoder();
encoder.setMessageContext(messageContext);
- encoder.setHttpServletResponse(response);
+ encoder.setHttpServletResponseSupplier(new Supplier<>() {public HttpServletResponse get() {return response;}});
encoder.initialize();
encoder.prepareContext();
@@ -259,7 +262,7 @@ public class HTTPRedirectDeflateEncoderTest extends XMLObjectBaseTestCase {
HTTPRedirectDeflateEncoder encoder = new HTTPRedirectDeflateEncoder();
encoder.setMessageContext(messageContext);
- encoder.setHttpServletResponse(response);
+ encoder.setHttpServletResponseSupplier(new Supplier<>() {public HttpServletResponse get() {return response;}});
encoder.initialize();
encoder.prepareContext();
@@ -350,7 +353,7 @@ public class HTTPRedirectDeflateEncoderTest extends XMLObjectBaseTestCase {
HTTPRedirectDeflateEncoder encoder = new HTTPRedirectDeflateEncoder();
encoder.setMessageContext(messageContext);
- encoder.setHttpServletResponse(response);
+ encoder.setHttpServletResponseSupplier(new Supplier<>() {public HttpServletResponse get() {return response;}});
encoder.initialize();
encoder.prepareContext();
@@ -434,11 +437,11 @@ public class HTTPRedirectDeflateEncoderTest extends XMLObjectBaseTestCase {
// the SAMLOutboundDestinationHandler, which would change the data being signed. Not correct vis-a-vis actual
//SAML protocol usage, but for purposes of this test it doesn't matter.
- MockHttpServletResponse response = new MockHttpServletResponse();
+ final MockHttpServletResponse response = new MockHttpServletResponse();
HTTPRedirectDeflateEncoder encoder = new HTTPRedirectDeflateEncoder();
encoder.setMessageContext(messageContext);
- encoder.setHttpServletResponse(response);
+ encoder.setHttpServletResponseSupplier(new Supplier<>() {public HttpServletResponse get() {return response;}});
encoder.initialize();
encoder.prepareContext();
@@ -484,18 +487,18 @@ public class HTTPRedirectDeflateEncoderTest extends XMLObjectBaseTestCase {
messageContext.getSubcontext(SecurityParametersContext.class, true).setSignatureSigningParameters(signingParameters);
- response = new MockHttpServletResponse();
+ final MockHttpServletResponse response2 = new MockHttpServletResponse();
encoder = new HTTPRedirectDeflateEncoder();
encoder.setMessageContext(messageContext);
- encoder.setHttpServletResponse(response);
+ encoder.setHttpServletResponseSupplier(new Supplier<>() {public HttpServletResponse get() {return response2;}});
encoder.initialize();
encoder.prepareContext();
encoder.encode();
- Assert.assertNotNull(response.getRedirectedUrl());
- urlBuilder = new URLBuilder(response.getRedirectedUrl());
+ Assert.assertNotNull(response2.getRedirectedUrl());
+ urlBuilder = new URLBuilder(response2.getRedirectedUrl());
Assert.assertEquals(urlBuilder.getScheme(), "http");
Assert.assertEquals(urlBuilder.getHost(), "example.org");
Assert.assertEquals(urlBuilder.getPath(), "/response");
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/encoding/impl/HTTPSOAP11EncoderTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/encoding/impl/HTTPSOAP11EncoderTest.java
index fe424ed07..c6bea3155 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/encoding/impl/HTTPSOAP11EncoderTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/encoding/impl/HTTPSOAP11EncoderTest.java
@@ -19,6 +19,9 @@ package org.opensaml.saml.saml2.binding.encoding.impl;
import java.io.ByteArrayInputStream;
import java.time.Instant;
+import java.util.function.Supplier;
+
+import javax.servlet.http.HttpServletResponse;
import org.opensaml.core.testing.XMLObjectBaseTestCase;
import org.opensaml.core.xml.XMLObject;
@@ -82,11 +85,11 @@ public class HTTPSOAP11EncoderTest extends XMLObjectBaseTestCase {
messageContext.getSubcontext(SAMLPeerEntityContext.class, true)
.getSubcontext(SAMLEndpointContext.class, true).setEndpoint(samlEndpoint);
- MockHttpServletResponse response = new MockHttpServletResponse();
+ final MockHttpServletResponse response = new MockHttpServletResponse();
HTTPSOAP11Encoder encoder = new HTTPSOAP11Encoder();
encoder.setMessageContext(messageContext);
- encoder.setHttpServletResponse(response);
+ encoder.setHttpServletResponseSupplier(new Supplier<>() {public HttpServletResponse get() {return response;}});
encoder.initialize();
encoder.prepareContext();
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/security/impl/SAML2HTTPPostSimpleSignSecurityHandlerTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/security/impl/SAML2HTTPPostSimpleSignSecurityHandlerTest.java
index b0381e61b..f8ca8574c 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/security/impl/SAML2HTTPPostSimpleSignSecurityHandlerTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/security/impl/SAML2HTTPPostSimpleSignSecurityHandlerTest.java
@@ -28,6 +28,7 @@ import java.util.List;
import java.util.function.Supplier;
import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
import javax.xml.XMLConstants;
import net.shibboleth.utilities.java.support.codec.DecodingException;
@@ -418,7 +419,7 @@ public class SAML2HTTPPostSimpleSignSecurityHandlerTest extends XMLObjectBaseTes
final HTTPPostSimpleSignEncoder encoder = new HTTPPostSimpleSignEncoder();
encoder.setMessageContext(mc);
- encoder.setHttpServletResponse(response);
+ encoder.setHttpServletResponseSupplier(new Supplier<>() {public HttpServletResponse get() {return response;}});
encoder.setVelocityEngine(velocityEngine);
encoder.setVelocityTemplateId("/templates/saml2-post-simplesign-binding.vm");
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/security/impl/SAML2HTTPRedirectDeflateSignatureSecurityHandlerTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/security/impl/SAML2HTTPRedirectDeflateSignatureSecurityHandlerTest.java
index ec45cda6d..1b36817c4 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/security/impl/SAML2HTTPRedirectDeflateSignatureSecurityHandlerTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/security/impl/SAML2HTTPRedirectDeflateSignatureSecurityHandlerTest.java
@@ -28,6 +28,7 @@ import java.util.List;
import java.util.function.Supplier;
import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
import net.shibboleth.utilities.java.support.collection.Pair;
import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
@@ -330,7 +331,7 @@ public class SAML2HTTPRedirectDeflateSignatureSecurityHandlerTest extends XMLObj
final HTTPRedirectDeflateEncoder encoder = new HTTPRedirectDeflateEncoder();
encoder.setMessageContext(mc);
- encoder.setHttpServletResponse(response);
+ encoder.setHttpServletResponseSupplier(new Supplier<>() {public HttpServletResponse get() {return response;}});
try {
encoder.initialize();
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list