This is an automated email from the ASF dual-hosted git repository.
ashakirin pushed a commit to branch 3.2.x-fixes
in repository https://gitbox.apache.org/repos/asf/cxf.git
The following commit(s) were added to refs/heads/3.2.x-fixes by this push:
new 60e6f43 CXF-7983: fixed JOSE ClientResponseFilter for No Content
response
60e6f43 is described below
commit 60e6f437f43e7b4559d468908c2020220ec255b8
Author: Andrei Shakirin <[email protected]>
AuthorDate: Tue Mar 12 23:35:53 2019 +0100
CXF-7983: fixed JOSE ClientResponseFilter for No Content response
---
.../cxf/rs/security/jose/jaxrs/JweClientResponseFilter.java | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git
a/rt/rs/security/jose-parent/jose-jaxrs/src/main/java/org/apache/cxf/rs/security/jose/jaxrs/JweClientResponseFilter.java
b/rt/rs/security/jose-parent/jose-jaxrs/src/main/java/org/apache/cxf/rs/security/jose/jaxrs/JweClientResponseFilter.java
index 0639494..082f7dc 100644
---
a/rt/rs/security/jose-parent/jose-jaxrs/src/main/java/org/apache/cxf/rs/security/jose/jaxrs/JweClientResponseFilter.java
+++
b/rt/rs/security/jose-parent/jose-jaxrs/src/main/java/org/apache/cxf/rs/security/jose/jaxrs/JweClientResponseFilter.java
@@ -26,6 +26,7 @@ import javax.ws.rs.HttpMethod;
import javax.ws.rs.client.ClientRequestContext;
import javax.ws.rs.client.ClientResponseContext;
import javax.ws.rs.client.ClientResponseFilter;
+import javax.ws.rs.core.Response;
import org.apache.cxf.jaxrs.utils.HttpUtils;
import org.apache.cxf.rs.security.jose.common.JoseUtils;
@@ -36,7 +37,8 @@ public class JweClientResponseFilter extends
AbstractJweDecryptingFilter impleme
@Override
public void filter(ClientRequestContext req, ClientResponseContext res)
throws IOException {
if (isMethodWithNoContent(req.getMethod())
- || isCheckEmptyStream() && !res.hasEntity()) {
+ || isStatusCodeWithNoContent(res.getStatus())
+ || isCheckEmptyStream() && !res.hasEntity()) {
return;
}
JweDecryptionOutput out = decrypt(res.getEntityStream());
@@ -54,4 +56,8 @@ public class JweClientResponseFilter extends
AbstractJweDecryptingFilter impleme
protected boolean isMethodWithNoContent(String method) {
return HttpMethod.DELETE.equals(method) ||
HttpUtils.isMethodWithNoResponseContent(method);
}
+
+ protected boolean isStatusCodeWithNoContent(int statusCode) {
+ return statusCode == Response.Status.NO_CONTENT.getStatusCode();
+ }
}