5
0
mirror of https://github.com/apache/sqoop.git synced 2025-05-04 20:11:54 +08:00

SQOOP-664: Send user name as HTTP header in client to server communication

(Abraham Elmahrek via Jarek Jarcec Cecho)
This commit is contained in:
Jarek Jarcec Cecho 2013-03-01 10:54:59 -08:00
parent b0ac2e4e4b
commit 2642b66cfe
3 changed files with 13 additions and 0 deletions

View File

@ -50,6 +50,8 @@ protected Builder getBuilder(String url) {
resource.addFilter(serverExceptionFilter); resource.addFilter(serverExceptionFilter);
return resource return resource
// Provide name of user executing request.
.header(SqoopProtocolConstants.HEADER_SQOOP_USERNAME, System.getProperty("user.name"))
// Sqoop is using JSON for data transfers // Sqoop is using JSON for data transfers
.accept(MediaType.APPLICATION_JSON_TYPE) .accept(MediaType.APPLICATION_JSON_TYPE)
// Transfer client locale to return client specific data // Transfer client locale to return client specific data

View File

@ -18,6 +18,7 @@
package org.apache.sqoop.common; package org.apache.sqoop.common;
public final class SqoopProtocolConstants { public final class SqoopProtocolConstants {
public static final String HEADER_SQOOP_USERNAME = "sqoop-user-name";
public static final String HEADER_SQOOP_ERROR_CODE = "sqoop-error-code"; public static final String HEADER_SQOOP_ERROR_CODE = "sqoop-error-code";

View File

@ -18,6 +18,7 @@
package org.apache.sqoop.server; package org.apache.sqoop.server;
import org.apache.sqoop.common.SqoopException; import org.apache.sqoop.common.SqoopException;
import org.apache.sqoop.common.SqoopProtocolConstants;
import org.apache.sqoop.server.common.ServerError; import org.apache.sqoop.server.common.ServerError;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
@ -99,4 +100,13 @@ public String[] getUrlElements() {
public Locale getAcceptLanguageHeader() { public Locale getAcceptLanguageHeader() {
return new Locale(request.getHeader("Accept-Language")); return new Locale(request.getHeader("Accept-Language"));
} }
/**
* Get username specified by custom username HTTP header.
*
* @return Name of user sending the request
*/
public String getUserName() {
return request.getHeader(SqoopProtocolConstants.HEADER_SQOOP_USERNAME);
}
} }