[CXF-7447] Add doPrivs to avoid AccessControlExceptions
Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/a511c502 Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/a511c502 Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/a511c502 Branch: refs/heads/3.0.x-fixes Commit: a511c502c3068184f17dbbe4fed4707a90a62b1a Parents: 12b364c Author: Andy McCright <[email protected]> Authored: Mon Jul 17 15:10:19 2017 -0500 Committer: Daniel Kulp <[email protected]> Committed: Fri Jul 28 12:20:15 2017 -0400 ---------------------------------------------------------------------- .../cxf/transport/http/URLConnectionHTTPConduit.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cxf/blob/a511c502/rt/transports/http/src/main/java/org/apache/cxf/transport/http/URLConnectionHTTPConduit.java ---------------------------------------------------------------------- diff --git a/rt/transports/http/src/main/java/org/apache/cxf/transport/http/URLConnectionHTTPConduit.java b/rt/transports/http/src/main/java/org/apache/cxf/transport/http/URLConnectionHTTPConduit.java index 9970d85..457257f 100644 --- a/rt/transports/http/src/main/java/org/apache/cxf/transport/http/URLConnectionHTTPConduit.java +++ b/rt/transports/http/src/main/java/org/apache/cxf/transport/http/URLConnectionHTTPConduit.java @@ -350,7 +350,20 @@ public class URLConnectionHTTPConduit extends HTTPConduit { } } protected int getResponseCode() throws IOException { - return connection.getResponseCode(); + try { + return AccessController.doPrivileged(new PrivilegedExceptionAction<Integer>() { + + @Override + public Integer run() throws IOException { + return connection.getResponseCode(); + } }); + } catch (PrivilegedActionException e) { + Throwable t = e.getCause(); + if (t instanceof IOException) { + throw (IOException) t; + } + throw new RuntimeException(t); + } } protected String getResponseMessage() throws IOException { return connection.getResponseMessage();
