Blame SOURCES/0051-v2v-vCenter-Factor-out-get_https_url-code.patch

a30de4
From 56835fbc66a9ae540764d1628922afaaa5b2fffc Mon Sep 17 00:00:00 2001
a30de4
From: "Richard W.M. Jones" <rjones@redhat.com>
a30de4
Date: Fri, 13 Oct 2017 17:08:23 +0100
a30de4
Subject: [PATCH] v2v: vCenter: Factor out get_https_url code.
a30de4
a30de4
Pure refactoring.
a30de4
a30de4
(cherry picked from commit 388a70139910ed4b03d9765e403c35bb26cbe422)
a30de4
---
a30de4
 v2v/vCenter.ml | 46 ++++++++++++++++++++++++----------------------
a30de4
 1 file changed, 24 insertions(+), 22 deletions(-)
a30de4
a30de4
diff --git a/v2v/vCenter.ml b/v2v/vCenter.ml
a30de4
index 7fc0811a4..f53affb48 100644
a30de4
--- a/v2v/vCenter.ml
a30de4
+++ b/v2v/vCenter.ml
a30de4
@@ -58,28 +58,7 @@ let rec map_source ?readahead ?password dcPath uri scheme server path =
a30de4
        (* XXX only works if the query string is not URI-quoted *)
a30de4
        String.find query "no_verify=1" = -1 in
a30de4
 
a30de4
-  let https_url =
a30de4
-    if not (Str.string_match source_re path 0) then
a30de4
-      path
a30de4
-    else (
a30de4
-      let datastore = Str.matched_group 1 path
a30de4
-      and path = Str.matched_group 2 path in
a30de4
-
a30de4
-      let port =
a30de4
-        match uri.uri_port with
a30de4
-        | 443 -> ""
a30de4
-        | n when n >= 1 -> ":" ^ string_of_int n
a30de4
-        | _ -> "" in
a30de4
-
a30de4
-      (* XXX Old virt-v2v could also handle snapshots, ie:
a30de4
-       * "[datastore1] Fedora 20/Fedora 20-NNNNNN.vmdk"
a30de4
-       * XXX Need to handle templates.  The file is called "-delta.vmdk" in
a30de4
-       * place of "-flat.vmdk".
a30de4
-       *)
a30de4
-      sprintf "https://%s%s/folder/%s-flat.vmdk?dcPath=%s&dsName=%s"
a30de4
-              server port
a30de4
-              (uri_quote path) (uri_quote dcPath) (uri_quote datastore)
a30de4
-    ) in
a30de4
+  let https_url = get_https_url dcPath uri server path in
a30de4
 
a30de4
   let session_cookie =
a30de4
     get_session_cookie password scheme uri sslverify https_url in
a30de4
@@ -123,6 +102,29 @@ let rec map_source ?readahead ?password dcPath uri scheme server path =
a30de4
     session_cookie = session_cookie;
a30de4
     sslverify = sslverify }
a30de4
 
a30de4
+and get_https_url dcPath uri server path =
a30de4
+  if not (Str.string_match source_re path 0) then
a30de4
+    path
a30de4
+  else (
a30de4
+    let datastore = Str.matched_group 1 path
a30de4
+    and path = Str.matched_group 2 path in
a30de4
+
a30de4
+    let port =
a30de4
+      match uri.uri_port with
a30de4
+      | 443 -> ""
a30de4
+      | n when n >= 1 -> ":" ^ string_of_int n
a30de4
+      | _ -> "" in
a30de4
+
a30de4
+    (* XXX Old virt-v2v could also handle snapshots, ie:
a30de4
+     * "[datastore1] Fedora 20/Fedora 20-NNNNNN.vmdk"
a30de4
+     * XXX Need to handle templates.  The file is called "-delta.vmdk" in
a30de4
+     * place of "-flat.vmdk".
a30de4
+     *)
a30de4
+    sprintf "https://%s%s/folder/%s-flat.vmdk?dcPath=%s&dsName=%s"
a30de4
+            server port
a30de4
+            (uri_quote path) (uri_quote dcPath) (uri_quote datastore)
a30de4
+  )
a30de4
+
a30de4
 and get_session_cookie password scheme uri sslverify https_url =
a30de4
   let status, headers, dump_response =
a30de4
     fetch_headers_from_url password scheme uri sslverify https_url in
a30de4
-- 
a30de4
2.14.3
a30de4