Repository: incubator-ranger Updated Branches: refs/heads/master dc87ef986 -> 9b3597617
RANGER-277 : Ranger Public API changes to use Service Model - Additional Changes -> http/https check for ServiceREST API Project: http://git-wip-us.apache.org/repos/asf/incubator-ranger/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ranger/commit/9b359761 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ranger/tree/9b359761 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ranger/diff/9b359761 Branch: refs/heads/master Commit: 9b35976172498ae55787c05bd9d25c0f48137813 Parents: dc87ef9 Author: rmani <[email protected]> Authored: Fri Mar 13 23:17:13 2015 -0700 Committer: rmani <[email protected]> Committed: Fri Mar 13 23:17:13 2015 -0700 ---------------------------------------------------------------------- .../org/apache/ranger/rest/ServiceREST.java | 51 +++++++++++--------- 1 file changed, 27 insertions(+), 24 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/9b359761/security-admin/src/main/java/org/apache/ranger/rest/ServiceREST.java ---------------------------------------------------------------------- diff --git a/security-admin/src/main/java/org/apache/ranger/rest/ServiceREST.java b/security-admin/src/main/java/org/apache/ranger/rest/ServiceREST.java index 8f41288..85c75f3 100644 --- a/security-admin/src/main/java/org/apache/ranger/rest/ServiceREST.java +++ b/security-admin/src/main/java/org/apache/ranger/rest/ServiceREST.java @@ -1022,34 +1022,37 @@ public class ServiceREST { int httpCode = HttpServletResponse.SC_OK; String logMsg = null; - try { - ret = svcStore.getServicePoliciesIfUpdated(serviceName, lastKnownVersion); - - if(ret == null) { - httpCode = HttpServletResponse.SC_NOT_MODIFIED; - logMsg = "No change since last update"; - } else { - httpCode = HttpServletResponse.SC_OK; - logMsg = "Returning " + (ret.getPolicies() != null ? ret.getPolicies().size() : 0) + " policies. Policy version=" + ret.getPolicyVersion(); + if (serviceUtil.isValidateHttpsAuthentication(serviceName, request)) { + + try { + ret = svcStore.getServicePoliciesIfUpdated(serviceName, lastKnownVersion); + + if(ret == null) { + httpCode = HttpServletResponse.SC_NOT_MODIFIED; + logMsg = "No change since last update"; + } else { + httpCode = HttpServletResponse.SC_OK; + logMsg = "Returning " + (ret.getPolicies() != null ? ret.getPolicies().size() : 0) + " policies. Policy version=" + ret.getPolicyVersion(); + } + } catch(Exception excp) { + LOG.error("getServicePoliciesIfUpdated(" + serviceName + ", " + lastKnownVersion + ") failed", excp); + + httpCode = HttpServletResponse.SC_BAD_REQUEST; + logMsg = excp.getMessage(); + } finally { + createPolicyDownloadAudit(serviceName, lastKnownVersion, pluginId, ret, httpCode, request); } - } catch(Exception excp) { - LOG.error("getServicePoliciesIfUpdated(" + serviceName + ", " + lastKnownVersion + ") failed", excp); - - httpCode = HttpServletResponse.SC_BAD_REQUEST; - logMsg = excp.getMessage(); - } finally { - createPolicyDownloadAudit(serviceName, lastKnownVersion, pluginId, ret, httpCode, request); - } - - if(httpCode != HttpServletResponse.SC_OK) { - boolean logError = httpCode != HttpServletResponse.SC_NOT_MODIFIED; - throw restErrorUtil.createRESTException(httpCode, logMsg, logError); - } - + + if(httpCode != HttpServletResponse.SC_OK) { + boolean logError = httpCode != HttpServletResponse.SC_NOT_MODIFIED; + throw restErrorUtil.createRESTException(httpCode, logMsg, logError); + } + } + if(LOG.isDebugEnabled()) { LOG.debug("<== ServiceREST.getServicePoliciesIfUpdated(" + serviceName + ", " + lastKnownVersion + "): count=" + ((ret == null || ret.getPolicies() == null) ? 0 : ret.getPolicies().size())); } - + return ret; }
