]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/getter/http_getter.ml
All the equalityTactics have now been ported to use both the equality of
[helm.git] / helm / ocaml / getter / http_getter.ml
index 58c94ac957c8dc2ccce93d7546f7bed42ea53ff8..4094a7376268eb6a31036a874643e258cbad4e9a 100644 (file)
@@ -42,17 +42,18 @@ type resolve_result =
 
 type logger_callback = HelmLogger.html_tag -> unit
 
-let stdout_logger tag =  print_string (HelmLogger.string_of_html_tag tag)
+let stdout_logger tag = print_string (HelmLogger.string_of_html_tag tag)
 
 let not_implemented s = raise (Not_implemented ("Http_getter." ^ s))
 
-let (index_line_sep_RE, index_sep_RE, trailing_types_RE,
-    heading_cic_RE, heading_theory_RE, heading_nuprl_RE,
-    heading_rdf_cic_RE, heading_rdf_theory_RE) =
-  (Pcre.regexp "[ \t]+", Pcre.regexp "\r\n|\r|\n",
-  Pcre.regexp "\\.types$",
-  Pcre.regexp "^cic:", Pcre.regexp "^theory:", Pcre.regexp "^nuprl:",
-  Pcre.regexp "^helm:rdf.*//cic:", Pcre.regexp "^helm:rdf.*//theory:")
+let index_line_sep_RE     = Pcre.regexp "[ \t]+"
+let index_sep_RE          = Pcre.regexp "\r\n|\r|\n"
+let trailing_types_RE     = Pcre.regexp "\\.types$"
+let heading_cic_RE        = Pcre.regexp "^cic:"
+let heading_theory_RE     = Pcre.regexp "^theory:"
+let heading_nuprl_RE     = Pcre.regexp "^nuprl:"
+let heading_rdf_cic_RE    = Pcre.regexp "^helm:rdf.*//cic:"
+let heading_rdf_theory_RE = Pcre.regexp "^helm:rdf.*//theory:"
 
   (* global maps, shared by all threads *)
 
@@ -258,7 +259,9 @@ let ls_remote lsuri = not_implemented "ls_remote"
 
 let resolve_remote uri =
   (* deliver resolve request to http_getter *)
-  let doc = ClientHTTP.get (sprintf "%sresolve?uri=%s" (getter_url ()) uri) in
+  let doc =
+    Http_getter_wget.get (sprintf "%sresolve?uri=%s" (getter_url ()) uri)
+  in
   let res = ref Unknown in
   let start_element tag attrs =
     match tag with
@@ -276,19 +279,21 @@ let resolve_remote uri =
   } in
   let xml_parser = XmlPushParser.create_parser callbacks in
   XmlPushParser.parse xml_parser (`String doc);
+  XmlPushParser.final xml_parser;
   match !res with
   | Unknown -> raise UnexpectedGetterOutput
   | Exception e -> raise e
   | Resolved url -> url
 
 let register_remote ~uri ~url =
-  ClientHTTP.send (sprintf "%sregister?uri=%s&url=%s" (getter_url ()) uri url)
+  Http_getter_wget.send
+    (sprintf "%sregister?uri=%s&url=%s" (getter_url ()) uri url)
 
 let unregister_remote uri =
-  ClientHTTP.send (sprintf "%sunregister?uri=%s" (getter_url ()) uri)
+  Http_getter_wget.send (sprintf "%sunregister?uri=%s" (getter_url ()) uri)
 
 let update_remote logger  () =
-  let answer = ClientHTTP.get (getter_url () ^ "update") in
+  let answer = Http_getter_wget.get (getter_url () ^ "update") in
   logger (`T answer);
   logger `BR
 
@@ -299,7 +304,7 @@ let getxml_remote ~format ~patch_dtd uri =
       (match format with `Normal -> "normal" | `Gzipped -> "gz")
       (match patch_dtd with true -> "yes" | false -> "no")
   in
-  ClientHTTP.get_and_save_to_tmp uri
+  Http_getter_wget.get_and_save_to_tmp uri
 
 (* API *)
 
@@ -650,12 +655,14 @@ let sync_dump_file () =
   
 let init () =
   Http_getter_logger.set_log_level
-    (Helm_registry.get_opt_default Helm_registry.get_int 1 "getter.log_level");
+    (Helm_registry.get_opt_default Helm_registry.int ~default:1
+      "getter.log_level");
   Http_getter_logger.set_log_file
-    (Helm_registry.get_opt Helm_registry.get_string "getter.log_file");
+    (Helm_registry.get_opt Helm_registry.string "getter.log_file");
   Http_getter_env.reload ();
   let is_prefetch_set = 
-    Helm_registry.get_opt_default Helm_registry.get_bool false "getter.prefetch"
+    Helm_registry.get_opt_default Helm_registry.bool ~default:false
+      "getter.prefetch"
   in
   if is_prefetch_set then
     (* ignore (Thread.create sync_with_map ()) *)