]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/getter/getter.ml
HELM OCaml libraries with findlib support.
[helm.git] / helm / ocaml / getter / getter.ml
diff --git a/helm/ocaml/getter/getter.ml b/helm/ocaml/getter/getter.ml
new file mode 100644 (file)
index 0000000..894bf3e
--- /dev/null
@@ -0,0 +1,63 @@
+(* Copyright (C) 2000, HELM Team.
+ * 
+ * This file is part of HELM, an Hypertextual, Electronic
+ * Library of Mathematics, developed at the Computer Science
+ * Department, University of Bologna, Italy.
+ * 
+ * HELM is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ * 
+ * HELM is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HELM; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston,
+ * MA  02111-1307, USA.
+ * 
+ * For details, see the HELM World-Wide-Web page,
+ * http://cs.unibo.it/helm/.
+ *)
+
+(******************************************************************************)
+(*                                                                            *)
+(*                               PROJECT HELM                                 *)
+(*                                                                            *)
+(*                Claudio Sacerdoti Coen <sacerdot@cs.unibo.it>               *)
+(*                                 24/01/2000                                 *)
+(*                                                                            *)
+(******************************************************************************)
+
+let getter_url = ref Configuration.getter_url;;
+
+let update () =
+ (* deliver update request to http_getter *)
+ ClientHTTP.send (!getter_url ^ "update")
+;;
+
+type format =
+   Normal
+ | GZipped
+;;
+
+let getxml ?(format=Normal) ?(patchdtd=true) uri =
+ (* deliver getxml request to http_getter *)
+ ClientHTTP.get_and_save_to_tmp
+  (!getter_url ^ "getxml" ^
+    "?uri=" ^ UriManager.string_of_uri uri ^
+    "&format=" ^ (match format with Normal -> "normal" | GZipped -> "gzipped") ^
+    "&patch_dtd=" ^ (match patchdtd with true -> "yes" | false -> "no")
+  )
+;;
+
+let register uri url =
+ (* deliver register request to http_getter *)
+ ClientHTTP.send
+  (!getter_url ^ "register" ^
+    "?uri=" ^ (UriManager.string_of_uri uri) ^
+    "&url=" ^ url)
+;;