Jelajahi Sumber

HDFS-11561. HttpFS doc errors. Contributed by Yuanbo Liu.

(cherry picked from commit ed2d03f2a5318a88d0eced8476127f303eb1d1d9)
John Zhuge 8 tahun lalu
induk
melakukan
74fbdd557a

+ 4 - 4
hadoop-hdfs-project/hadoop-hdfs-httpfs/src/site/markdown/index.md

@@ -36,13 +36,13 @@ HttpFS itself is Java web-application and it runs using a preconfigured Tomcat b
 
 
 HttpFS HTTP web-service API calls are HTTP REST calls that map to a HDFS file system operation. For example, using the `curl` Unix command:
 HttpFS HTTP web-service API calls are HTTP REST calls that map to a HDFS file system operation. For example, using the `curl` Unix command:
 
 
-* `$ curl http://httpfs-host:14000/webhdfs/v1/user/foo/README.txt` returns the contents of the HDFS `/user/foo/README.txt` file.
+* `$ curl 'http://httpfs-host:14000/webhdfs/v1/user/foo/README.txt?op=OPEN&user.name=foo'` returns the contents of the HDFS `/user/foo/README.txt` file.
 
 
-* `$ curl http://httpfs-host:14000/webhdfs/v1/user/foo?op=list` returns the contents of the HDFS `/user/foo` directory in JSON format.
+* `$ curl 'http://httpfs-host:14000/webhdfs/v1/user/foo?op=LISTSTATUS&user.name=foo'` returns the contents of the HDFS `/user/foo` directory in JSON format.
 
 
-* `$ curl http://httpfs-host:14000/webhdfs/v1/user/foo?op=GETTRASHROOT` returns the path `/user/foo/.Trash`, if `/` is an encrypted zone, returns the path `/.Trash/foo`. See [more details](../hadoop-project-dist/hadoop-hdfs/TransparentEncryption.html#Rename_and_Trash_considerations) about trash path in an encrypted zone.
+* `$ curl 'http://httpfs-host:14000/webhdfs/v1/user/foo?op=GETTRASHROOT&user.name=foo'` returns the path `/user/foo/.Trash`, if `/` is an encrypted zone, returns the path `/.Trash/foo`. See [more details](../hadoop-project-dist/hadoop-hdfs/TransparentEncryption.html#Rename_and_Trash_considerations) about trash path in an encrypted zone.
 
 
-* `$ curl -X POST http://httpfs-host:14000/webhdfs/v1/user/foo/bar?op=mkdirs` creates the HDFS `/user/foo.bar` directory.
+* `$ curl -X POST 'http://httpfs-host:14000/webhdfs/v1/user/foo/bar?op=MKDIRS&user.name=foo'` creates the HDFS `/user/foo/bar` directory.
 
 
 User and Developer Documentation
 User and Developer Documentation
 --------------------------------
 --------------------------------

+ 18 - 0
hadoop-hdfs-project/hadoop-hdfs-httpfs/src/test/java/org/apache/hadoop/fs/http/server/TestHttpFSServer.java

@@ -223,6 +223,24 @@ public class TestHttpFSServer extends HFSTestCase {
     reader.close();
     reader.close();
   }
   }
 
 
+  @Test
+  @TestDir
+  @TestJetty
+  @TestHdfs
+  public void testMkdirs() throws Exception {
+    createHttpFSServer(false);
+
+    String user = HadoopUsersConfTestHelper.getHadoopUsers()[0];
+    URL url = new URL(TestJettyHelper.getJettyURL(), MessageFormat.format(
+        "/webhdfs/v1/tmp/sub-tmp?user.name={0}&op=MKDIRS", user));
+    HttpURLConnection conn = (HttpURLConnection) url.openConnection();
+    conn.setRequestMethod("PUT");
+    conn.connect();
+    Assert.assertEquals(conn.getResponseCode(), HttpURLConnection.HTTP_OK);
+
+    getStatus("/tmp/sub-tmp", "LISTSTATUS");
+  }
+
   @Test
   @Test
   @TestDir
   @TestDir
   @TestJetty
   @TestJetty