knox git commit: KNOX-754 encoding response headers

2016-10-12 Thread sumit
Repository: knox
Updated Branches:
  refs/heads/v0.9.0 ccd2fd4b3 -> a124909eb


KNOX-754 encoding response headers


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

Branch: refs/heads/v0.9.0
Commit: a124909eb4dcefb0fa285a6f9f3a87ca5b9bd14c
Parents: ccd2fd4
Author: Sumit Gupta 
Authored: Wed Oct 12 09:05:00 2016 -0400
Committer: Sumit Gupta 
Committed: Wed Oct 12 09:07:03 2016 -0400

--
 .../filter/rewrite/impl/UrlRewriteResponse.java |  2 +-
 .../hadoop/gateway/GatewayBasicFuncTest.java| 44 +---
 2 files changed, 40 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/knox/blob/a124909e/gateway-provider-rewrite/src/main/java/org/apache/hadoop/gateway/filter/rewrite/impl/UrlRewriteResponse.java
--
diff --git 
a/gateway-provider-rewrite/src/main/java/org/apache/hadoop/gateway/filter/rewrite/impl/UrlRewriteResponse.java
 
b/gateway-provider-rewrite/src/main/java/org/apache/hadoop/gateway/filter/rewrite/impl/UrlRewriteResponse.java
index 5e4aae3..2c9c70d 100644
--- 
a/gateway-provider-rewrite/src/main/java/org/apache/hadoop/gateway/filter/rewrite/impl/UrlRewriteResponse.java
+++ 
b/gateway-provider-rewrite/src/main/java/org/apache/hadoop/gateway/filter/rewrite/impl/UrlRewriteResponse.java
@@ -117,7 +117,7 @@ public class UrlRewriteResponse extends 
GatewayResponseWrapper implements Params
   Template input = Parser.parseLiteral( value );
   Template output = rewriter.rewrite( this, input, 
UrlRewriter.Direction.OUT, rule );
   if( output != null ) {
-value = output.getPattern();
+value = output.toEncodedString();
   }
 } catch( URISyntaxException e ) {
   LOG.failedToParseValueForUrlRewrite( value );

http://git-wip-us.apache.org/repos/asf/knox/blob/a124909e/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayBasicFuncTest.java
--
diff --git 
a/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayBasicFuncTest.java
 
b/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayBasicFuncTest.java
index 2df67dd..dc6e80e 100644
--- 
a/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayBasicFuncTest.java
+++ 
b/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayBasicFuncTest.java
@@ -67,11 +67,7 @@ import org.slf4j.LoggerFactory;
 import static com.jayway.restassured.RestAssured.given;
 import static org.apache.hadoop.test.TestUtils.LOG_ENTER;
 import static org.apache.hadoop.test.TestUtils.LOG_EXIT;
-import static org.hamcrest.CoreMatchers.anyOf;
-import static org.hamcrest.CoreMatchers.either;
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.CoreMatchers.not;
-import static org.hamcrest.CoreMatchers.startsWith;
+import static org.hamcrest.CoreMatchers.*;
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.containsString;
 import static org.hamcrest.Matchers.greaterThan;
@@ -343,6 +339,44 @@ public class GatewayBasicFuncTest {
   }
 
   @Test( timeout = TestUtils.MEDIUM_TIMEOUT )
+  public void testBasicOutboundEncodedHeaderUseCase() throws IOException {
+LOG_ENTER();
+String root = "/tmp/GatewayBasicFuncTest/testBasicOutboundHeaderUseCase";
+String username = "hdfs";
+String password = "hdfs-password";
+InetSocketAddress gatewayAddress = driver.gateway.getAddresses()[0];
+String gatewayHostName = gatewayAddress.getHostName();
+String gatewayAddrName = 
InetAddress.getByName(gatewayHostName).getHostAddress();
+
+driver.getMock( "WEBHDFS" )
+.expect()
+.method( "PUT" )
+.pathInfo( "/v1" + root + "/dir/fileレポー" )
+.header( "Host", driver.getRealAddr( "WEBHDFS" ) )
+.queryParam( "op", "CREATE" )
+.queryParam( "user.name", username )
+.respond()
+.status( HttpStatus.SC_TEMPORARY_REDIRECT )
+.header("Location", driver.getRealUrl("DATANODE") + "/v1" + root + 
"/dir/file%E3%83%AC%E3%83%9D%E3%83%BC?op=CREATE&user.name=hdfs");
+Response response = given()
+//.log().all()
+.auth().preemptive().basic( username, password )
+.header("X-XSRF-Header", "jksdhfkhdsf")
+.queryParam( "op", "CREATE" )
+.expect()
+//.log().ifError()
+.statusCode( HttpStatus.SC_TEMPORARY_REDIRECT )
+.when().put( driver.getUrl("WEBHDFS") + "/v1" + root + 
"/dir/file%E3%83%AC%E3%83%9D%E3%83%BC" );
+String location = response.getHeader( "Location" );
+//System.out.println( location );
+log.debug( "Redirect location: " + res

knox git commit: KNOX-754 encoding response headers

2016-10-12 Thread sumit
Repository: knox
Updated Branches:
  refs/heads/master 62a75e0e0 -> ce9aa2441


KNOX-754 encoding response headers


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

Branch: refs/heads/master
Commit: ce9aa244163a8db709722eb786f4fb45ec59e7fd
Parents: 62a75e0
Author: Sumit Gupta 
Authored: Wed Oct 12 09:05:00 2016 -0400
Committer: Sumit Gupta 
Committed: Wed Oct 12 09:05:00 2016 -0400

--
 .../filter/rewrite/impl/UrlRewriteResponse.java |  2 +-
 .../hadoop/gateway/GatewayBasicFuncTest.java| 44 +---
 2 files changed, 40 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/knox/blob/ce9aa244/gateway-provider-rewrite/src/main/java/org/apache/hadoop/gateway/filter/rewrite/impl/UrlRewriteResponse.java
--
diff --git 
a/gateway-provider-rewrite/src/main/java/org/apache/hadoop/gateway/filter/rewrite/impl/UrlRewriteResponse.java
 
b/gateway-provider-rewrite/src/main/java/org/apache/hadoop/gateway/filter/rewrite/impl/UrlRewriteResponse.java
index 5e4aae3..2c9c70d 100644
--- 
a/gateway-provider-rewrite/src/main/java/org/apache/hadoop/gateway/filter/rewrite/impl/UrlRewriteResponse.java
+++ 
b/gateway-provider-rewrite/src/main/java/org/apache/hadoop/gateway/filter/rewrite/impl/UrlRewriteResponse.java
@@ -117,7 +117,7 @@ public class UrlRewriteResponse extends 
GatewayResponseWrapper implements Params
   Template input = Parser.parseLiteral( value );
   Template output = rewriter.rewrite( this, input, 
UrlRewriter.Direction.OUT, rule );
   if( output != null ) {
-value = output.getPattern();
+value = output.toEncodedString();
   }
 } catch( URISyntaxException e ) {
   LOG.failedToParseValueForUrlRewrite( value );

http://git-wip-us.apache.org/repos/asf/knox/blob/ce9aa244/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayBasicFuncTest.java
--
diff --git 
a/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayBasicFuncTest.java
 
b/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayBasicFuncTest.java
index 2df67dd..dc6e80e 100644
--- 
a/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayBasicFuncTest.java
+++ 
b/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayBasicFuncTest.java
@@ -67,11 +67,7 @@ import org.slf4j.LoggerFactory;
 import static com.jayway.restassured.RestAssured.given;
 import static org.apache.hadoop.test.TestUtils.LOG_ENTER;
 import static org.apache.hadoop.test.TestUtils.LOG_EXIT;
-import static org.hamcrest.CoreMatchers.anyOf;
-import static org.hamcrest.CoreMatchers.either;
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.CoreMatchers.not;
-import static org.hamcrest.CoreMatchers.startsWith;
+import static org.hamcrest.CoreMatchers.*;
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.containsString;
 import static org.hamcrest.Matchers.greaterThan;
@@ -343,6 +339,44 @@ public class GatewayBasicFuncTest {
   }
 
   @Test( timeout = TestUtils.MEDIUM_TIMEOUT )
+  public void testBasicOutboundEncodedHeaderUseCase() throws IOException {
+LOG_ENTER();
+String root = "/tmp/GatewayBasicFuncTest/testBasicOutboundHeaderUseCase";
+String username = "hdfs";
+String password = "hdfs-password";
+InetSocketAddress gatewayAddress = driver.gateway.getAddresses()[0];
+String gatewayHostName = gatewayAddress.getHostName();
+String gatewayAddrName = 
InetAddress.getByName(gatewayHostName).getHostAddress();
+
+driver.getMock( "WEBHDFS" )
+.expect()
+.method( "PUT" )
+.pathInfo( "/v1" + root + "/dir/fileレポー" )
+.header( "Host", driver.getRealAddr( "WEBHDFS" ) )
+.queryParam( "op", "CREATE" )
+.queryParam( "user.name", username )
+.respond()
+.status( HttpStatus.SC_TEMPORARY_REDIRECT )
+.header("Location", driver.getRealUrl("DATANODE") + "/v1" + root + 
"/dir/file%E3%83%AC%E3%83%9D%E3%83%BC?op=CREATE&user.name=hdfs");
+Response response = given()
+//.log().all()
+.auth().preemptive().basic( username, password )
+.header("X-XSRF-Header", "jksdhfkhdsf")
+.queryParam( "op", "CREATE" )
+.expect()
+//.log().ifError()
+.statusCode( HttpStatus.SC_TEMPORARY_REDIRECT )
+.when().put( driver.getUrl("WEBHDFS") + "/v1" + root + 
"/dir/file%E3%83%AC%E3%83%9D%E3%83%BC" );
+String location = response.getHeader( "Location" );
+//System.out.println( location );
+log.debug( "Redirect location: " + res