You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sqoop.apache.org by ab...@apache.org on 2014/10/27 20:58:05 UTC

git commit: Sqoop2: Ensure Connector/Driver/Version only support GET method

Repository: sqoop
Updated Branches:
  refs/heads/sqoop2 320bf6040 -> 24b8107ab


Sqoop2: Ensure Connector/Driver/Version only support GET method

(Veena Basavaraj via Abraham Elmahrek)


Project: http://git-wip-us.apache.org/repos/asf/sqoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/sqoop/commit/24b8107a
Tree: http://git-wip-us.apache.org/repos/asf/sqoop/tree/24b8107a
Diff: http://git-wip-us.apache.org/repos/asf/sqoop/diff/24b8107a

Branch: refs/heads/sqoop2
Commit: 24b8107ab19918c6d2c5e5b2c5631f8416991eab
Parents: 320bf60
Author: Abraham Elmahrek <ab...@elmahrek.com>
Authored: Mon Oct 27 12:49:53 2014 -0700
Committer: Abraham Elmahrek <ab...@elmahrek.com>
Committed: Mon Oct 27 12:50:48 2014 -0700

----------------------------------------------------------------------
 .../apache/sqoop/handler/ConnectorRequestHandler.java | 11 +++++++++--
 .../apache/sqoop/handler/DriverRequestHandler.java    | 14 +++++++++++---
 .../apache/sqoop/handler/VersionRequestHandler.java   | 11 +++++++++--
 3 files changed, 29 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/sqoop/blob/24b8107a/server/src/main/java/org/apache/sqoop/handler/ConnectorRequestHandler.java
----------------------------------------------------------------------
diff --git a/server/src/main/java/org/apache/sqoop/handler/ConnectorRequestHandler.java b/server/src/main/java/org/apache/sqoop/handler/ConnectorRequestHandler.java
index 5b03a8f..5694ea5 100644
--- a/server/src/main/java/org/apache/sqoop/handler/ConnectorRequestHandler.java
+++ b/server/src/main/java/org/apache/sqoop/handler/ConnectorRequestHandler.java
@@ -33,6 +33,7 @@ import org.apache.sqoop.json.ConnectorsBean;
 import org.apache.sqoop.json.JsonBean;
 import org.apache.sqoop.model.MConnector;
 import org.apache.sqoop.server.RequestContext;
+import org.apache.sqoop.server.RequestContext.Method;
 import org.apache.sqoop.server.RequestHandler;
 import org.apache.sqoop.server.common.ServerError;
 
@@ -48,6 +49,12 @@ public class ConnectorRequestHandler implements RequestHandler {
 
   @Override
   public JsonBean handleEvent(RequestContext ctx) {
+    // connector only support GET requests
+    if (ctx.getMethod() != Method.GET) {
+      throw new SqoopException(ServerError.SERVER_0002, "Unsupported HTTP method for connector:"
+          + ctx.getMethod());
+    }
+
     List<MConnector> connectors;
     Map<Long, ResourceBundle> configParamBundles;
     Locale locale = ctx.getAcceptLanguageHeader();
@@ -59,7 +66,7 @@ public class ConnectorRequestHandler implements RequestHandler {
       connectors = ConnectorManager.getInstance().getConnectorConfigurables();
       configParamBundles = ConnectorManager.getInstance().getResourceBundles(locale);
       AuditLoggerManager.getInstance().logAuditEvent(ctx.getUserName(),
-          ctx.getRequest().getRemoteAddr(), "get", "connector", "all");
+          ctx.getRequest().getRemoteAddr(), "get", "connectors", "all");
       return new ConnectorsBean(connectors, configParamBundles);
 
     } else {
@@ -88,4 +95,4 @@ public class ConnectorRequestHandler implements RequestHandler {
       return new ConnectorBean(connectors, configParamBundles);
     }
   }
-}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/sqoop/blob/24b8107a/server/src/main/java/org/apache/sqoop/handler/DriverRequestHandler.java
----------------------------------------------------------------------
diff --git a/server/src/main/java/org/apache/sqoop/handler/DriverRequestHandler.java b/server/src/main/java/org/apache/sqoop/handler/DriverRequestHandler.java
index be9685b..81efb89 100644
--- a/server/src/main/java/org/apache/sqoop/handler/DriverRequestHandler.java
+++ b/server/src/main/java/org/apache/sqoop/handler/DriverRequestHandler.java
@@ -19,11 +19,14 @@ package org.apache.sqoop.handler;
 
 import org.apache.log4j.Logger;
 import org.apache.sqoop.audit.AuditLoggerManager;
+import org.apache.sqoop.common.SqoopException;
 import org.apache.sqoop.driver.Driver;
 import org.apache.sqoop.json.DriverBean;
 import org.apache.sqoop.json.JsonBean;
 import org.apache.sqoop.server.RequestContext;
 import org.apache.sqoop.server.RequestHandler;
+import org.apache.sqoop.server.RequestContext.Method;
+import org.apache.sqoop.server.common.ServerError;
 
 public class DriverRequestHandler implements RequestHandler {
 
@@ -36,10 +39,15 @@ public class DriverRequestHandler implements RequestHandler {
 
   @Override
   public JsonBean handleEvent(RequestContext ctx) {
+    // driver only support GET requests
+    if (ctx.getMethod() != Method.GET) {
+      throw new SqoopException(ServerError.SERVER_0002, "Unsupported HTTP method for driver:"
+          + ctx.getMethod());
+    }
     AuditLoggerManager.getInstance().logAuditEvent(ctx.getUserName(),
         ctx.getRequest().getRemoteAddr(), "get", "driver", "");
 
-    return new DriverBean(Driver.getInstance().getDriver(), Driver.getInstance()
-        .getBundle(ctx.getAcceptLanguageHeader()));
+    return new DriverBean(Driver.getInstance().getDriver(), Driver.getInstance().getBundle(
+        ctx.getAcceptLanguageHeader()));
   }
-}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/sqoop/blob/24b8107a/server/src/main/java/org/apache/sqoop/handler/VersionRequestHandler.java
----------------------------------------------------------------------
diff --git a/server/src/main/java/org/apache/sqoop/handler/VersionRequestHandler.java b/server/src/main/java/org/apache/sqoop/handler/VersionRequestHandler.java
index 0bf188c..2eaa0ac 100644
--- a/server/src/main/java/org/apache/sqoop/handler/VersionRequestHandler.java
+++ b/server/src/main/java/org/apache/sqoop/handler/VersionRequestHandler.java
@@ -18,13 +18,15 @@
 package org.apache.sqoop.handler;
 
 import org.apache.log4j.Logger;
-import org.apache.sqoop.common.VersionInfo;
 import org.apache.sqoop.audit.AuditLoggerManager;
+import org.apache.sqoop.common.SqoopException;
+import org.apache.sqoop.common.VersionInfo;
 import org.apache.sqoop.json.JsonBean;
 import org.apache.sqoop.json.VersionBean;
 import org.apache.sqoop.server.RequestContext;
+import org.apache.sqoop.server.RequestContext.Method;
 import org.apache.sqoop.server.RequestHandler;
-
+import org.apache.sqoop.server.common.ServerError;
 /**
  * Version request handler is supporting following resources:
  *
@@ -52,6 +54,11 @@ public class VersionRequestHandler implements RequestHandler {
 
   @Override
   public JsonBean handleEvent(RequestContext ctx) {
+    // version only support GET requests
+    if (ctx.getMethod() != Method.GET) {
+      throw new SqoopException(ServerError.SERVER_0002, "Unsupported HTTP method for version:"
+          + ctx.getMethod());
+    }
     AuditLoggerManager.getInstance()
         .logAuditEvent(ctx.getUserName(), ctx.getRequest().getRemoteAddr(),
         "show", "version", "");