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", "");