[java-opensaml] 02/02: IDP-1793 Use Suppliers for HttpRequest/Response
Rod Widdowson
rdw at steadingsoftware.com
Sun Aug 14 14:56:06 UTC 2022
This is an automated email from the git hooks/post-receive script.
rdw pushed a commit to branch main
in repository java-opensaml.
View the commit online:
http://git.shibboleth.net/view/?p=java-opensaml.git;a=commit;h=7fdf923f901dfb7dc0eb0c3f1c56e049c323f0a7
commit 7fdf923f901dfb7dc0eb0c3f1c56e049c323f0a7
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 | 66 ++++++++++++++++++----
.../servlet/HttpServletResponseMessageEncoder.java | 21 +++++--
.../binding/encoding/impl/HTTPPostEncoderTest.java | 4 +-
.../encoding/impl/HTTPSOAP11EncoderTest.java | 5 +-
.../binding/encoding/impl/HTTPPostEncoderTest.java | 6 +-
.../impl/HTTPPostSimpleSignEncoderTest.java | 8 ++-
.../impl/HTTPRedirectDeflateEncoderTest.java | 22 ++++----
.../encoding/impl/HTTPSOAP11EncoderTest.java | 7 ++-
...SAML2HTTPPostSimpleSignSecurityHandlerTest.java | 5 +-
...edirectDeflateSignatureSecurityHandlerTest.java | 14 ++---
10 files changed, 114 insertions(+), 44 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 cc9844f89..7460040e3 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,9 +17,19 @@
package org.opensaml.messaging.encoder.servlet;
+import java.util.function.Supplier;
+
import javax.annotation.Nullable;
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 net.shibboleth.utilities.java.support.net.ThreadLocalHttpServletResponseProxy;
+import net.shibboleth.utilities.java.support.primitive.DeprecationSupport;
+import net.shibboleth.utilities.java.support.primitive.DeprecationSupport.ObjectType;
import jakarta.servlet.http.HttpServletResponse;
import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
@@ -30,33 +40,65 @@ import net.shibboleth.utilities.java.support.component.ComponentInitializationEx
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 synchronized void setHttpServletResponseSupplier(@Nullable final Supplier<HttpServletResponse> supplier) {
checkSetterPreconditions();
+ ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(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 synchronized void setHttpServletResponse(@Nullable final HttpServletResponse response) {
+ checkSetterPreconditions();
+
+ 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 202be9677..3fb5632b0 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 org.opensaml.messaging.encoder.MessageEncoder;
@@ -29,17 +31,28 @@ import jakarta.servlet.http.HttpServletResponse;
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());
+ }
+
}
+
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..5a092d651 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,7 @@ 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 org.apache.velocity.app.VelocityEngine;
import org.apache.velocity.runtime.RuntimeConstants;
@@ -46,6 +47,7 @@ import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
+import jakarta.servlet.http.HttpServletResponse;
import net.shibboleth.utilities.java.support.codec.Base64Support;
/**
@@ -94,7 +96,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..3720778ad 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,7 @@ package org.opensaml.saml.saml1.binding.encoding.impl;
import java.io.ByteArrayInputStream;
import java.time.Instant;
+import java.util.function.Supplier;
import org.opensaml.core.testing.XMLObjectBaseTestCase;
import org.opensaml.core.xml.XMLObject;
@@ -37,6 +38,8 @@ import org.springframework.mock.web.MockHttpServletResponse;
import org.testng.Assert;
import org.testng.annotations.Test;
+import jakarta.servlet.http.HttpServletResponse;
+
/**
* Test case for SAML 1.X HTTP SOAP 1.1 binding encoding.
*/
@@ -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..ba9c108bc 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,7 @@ 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 org.apache.velocity.app.VelocityEngine;
import org.apache.velocity.runtime.RuntimeConstants;
@@ -49,6 +50,7 @@ import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
+import jakarta.servlet.http.HttpServletResponse;
import net.shibboleth.utilities.java.support.codec.Base64Support;
/**
@@ -114,7 +116,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 +210,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..95fc48ad2 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,7 @@ import java.io.ByteArrayInputStream;
import java.security.KeyPair;
import java.time.Instant;
import java.util.List;
+import java.util.function.Supplier;
import org.apache.velocity.app.VelocityEngine;
import org.apache.velocity.runtime.RuntimeConstants;
@@ -59,6 +60,7 @@ import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
+import jakarta.servlet.http.HttpServletResponse;
import net.shibboleth.utilities.java.support.codec.Base64Support;
/**
@@ -124,7 +126,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 +220,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 +322,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..492c2a183 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,6 +21,7 @@ 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;
@@ -47,6 +48,7 @@ import org.testng.Assert;
import org.testng.annotations.Test;
import org.w3c.dom.Document;
+import jakarta.servlet.http.HttpServletResponse;
import net.shibboleth.utilities.java.support.codec.Base64Support;
import net.shibboleth.utilities.java.support.net.URISupport;
import net.shibboleth.utilities.java.support.net.URLBuilder;
@@ -101,7 +103,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 +180,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 +261,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 +352,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 +436,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 +486,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..c1ca6311f 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,7 @@ package org.opensaml.saml.saml2.binding.encoding.impl;
import java.io.ByteArrayInputStream;
import java.time.Instant;
+import java.util.function.Supplier;
import org.opensaml.core.testing.XMLObjectBaseTestCase;
import org.opensaml.core.xml.XMLObject;
@@ -39,6 +40,8 @@ import org.springframework.mock.web.MockHttpServletResponse;
import org.testng.Assert;
import org.testng.annotations.Test;
+import jakarta.servlet.http.HttpServletResponse;
+
/**
* Test for SAML 2 SOAP 1.1 message encoder.
*/
@@ -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 aded71329..95b43f7b1 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
@@ -66,7 +66,8 @@ import org.testng.annotations.Test;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
-import jakarta .servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import net.shibboleth.utilities.java.support.codec.DecodingException;
import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
import net.shibboleth.utilities.java.support.xml.BasicParserPool;
@@ -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 e6e304623..818953542 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
@@ -27,12 +27,6 @@ import java.util.Collections;
import java.util.List;
import java.util.function.Supplier;
-import jakarta.servlet.http.HttpServletRequest;
-
-import net.shibboleth.utilities.java.support.collection.Pair;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.net.URLBuilder;
-
import org.opensaml.core.testing.XMLObjectBaseTestCase;
import org.opensaml.messaging.context.MessageContext;
import org.opensaml.messaging.encoder.MessageEncodingException;
@@ -66,6 +60,12 @@ import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import net.shibboleth.utilities.java.support.collection.Pair;
+import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
+import net.shibboleth.utilities.java.support.net.URLBuilder;
+
/**
* Test SAML simple signature for HTTP Redirect DEFLATE binding.
@@ -330,7 +330,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