X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fhttp_getter%2Fhttp_getter_env.ml;h=217ec346ee39c2c80c414eb5b0fdbf40f400972c;hb=866249edf202e4fec2c0e3fffdee96782009d6f3;hp=377d305f4061570eca45cbf50bb4370bbd79d5f6;hpb=86e80bc65186bf4c2824dc94f5f4dd5966843f14;p=helm.git diff --git a/helm/http_getter/http_getter_env.ml b/helm/http_getter/http_getter_env.ml index 377d305f4..217ec346e 100644 --- a/helm/http_getter/http_getter_env.ml +++ b/helm/http_getter/http_getter_env.ml @@ -1,5 +1,7 @@ (* - * Copyright (C) 2000, HELM Team. + * Copyright (C) 2003: + * Stefano Zacchiroli + * for the HELM Team http://helm.cs.unibo.it/ * * This file is part of HELM, an Hypertextual, Electronic * Library of Mathematics, developed at the Computer Science @@ -21,7 +23,7 @@ * MA 02111-1307, USA. * * For details, see the HELM World-Wide-Web page, - * http://cs.unibo.it/helm/. + * http://helm.cs.unibo.it/ *) open Http_getter_types;; @@ -30,6 +32,8 @@ open Pxp_document;; open Pxp_types;; open Pxp_yacc;; +let version = Http_getter_const.version + type setting_src = | Environment (* read setting from environment variables *) | Conffile (* read setting from configuration file *) @@ -42,7 +46,7 @@ let (conf_file, conf_dir) = let conf_dir = Pcre.replace ~pat:"/$" (Sys.getenv "HELM_CONFIGURATION_DIR") in - (conf_dir ^ "/configuration.xml", conf_dir) + (conf_dir ^ "/" ^ Http_getter_const.conffile, conf_dir) with Not_found -> failwith "HELM_CONFIGURATION_DIR undefined" let safe_getenv ?(from = Both) var = @@ -73,9 +77,11 @@ let safe_getenv ?(from = Both) var = | v -> return_value var v))) let servers_file = safe_getenv "HTTP_GETTER_SERVERS_FILE" -let servers = - let cons hd tl = hd @ [ tl ] in - Http_getter_misc.fold_file cons [] servers_file +let parse_servers () = + (let cons hd tl = hd @ [ tl ] in + Http_getter_misc.fold_file cons [] servers_file) +let servers = ref (parse_servers ()) +let reload_servers () = servers := parse_servers () let xml_dbm = safe_getenv "HTTP_GETTER_XML_DBM" let rdf_dbm = safe_getenv "HTTP_GETTER_RDF_DBM" @@ -85,7 +91,6 @@ let rdf_index = safe_getenv "HTTP_GETTER_RDF_INDEXNAME" let xsl_index = safe_getenv "HTTP_GETTER_XSL_INDEXNAME" let xml_dir = safe_getenv "HTTP_GETTER_XML_DIR" let rdf_dir = safe_getenv "HTTP_GETTER_RDF_DIR" -let xsl_dir = safe_getenv "HTTP_GETTER_XSL_DIR" let dtd_dir = safe_getenv "HTTP_GETTER_DTD_DIR" let port = @@ -100,7 +105,7 @@ let host = Pcre.replace ~pat:"\n+$" (Buffer.contents buf) let my_own_url = sprintf - "http://%s%s/" + "http://%s%s" (* without trailing '/' *) host (if port = 80 then "" else (sprintf ":%d" port)) let dtd_base_url = safe_getenv "HTTP_GETTER_DTD_BASE_URL" @@ -111,9 +116,14 @@ let cache_mode = | "gz" -> Enc_gzipped | mode -> failwith ("Invalid cache mode: " ^ mode) +let reload () = + reload_servers () + let dump_env () = printf -"xml_dbm:\t%s +"HTTP Getter %s (the OCaml one!) + +xml_dbm:\t%s rdf_dbm:\t%s xsl_dbm:\t%s xml_index:\t%s @@ -121,7 +131,6 @@ rdf_index:\t%s xsl_index:\t%s xml_dir:\t%s rdf_dir:\t%s -xsl_dir:\t%s dtd_dir:\t%s servers_file:\t%s host:\t\t%s @@ -134,10 +143,9 @@ conf_dir:\t%s servers: \t%s " - xml_dbm rdf_dbm xsl_dbm xml_index rdf_index xsl_index - xml_dir rdf_dir xsl_dir dtd_dir servers_file host port - my_own_url dtd_base_url + version xml_dbm rdf_dbm xsl_dbm xml_index rdf_index xsl_index + xml_dir rdf_dir dtd_dir servers_file host port my_own_url dtd_base_url (match cache_mode with Enc_normal -> "Normal" | Enc_gzipped -> "GZipped") - conf_file conf_dir (String.concat "\n\t" servers); + conf_file conf_dir (String.concat "\n\t" !servers); flush stdout