let nuprl_dir = lazy (Helm_registry.get "getter.nuprl_dir")
let rdf_dir = lazy (Helm_registry.get "getter.rdf_dir")
let dtd_dir = lazy (Helm_registry.get "getter.dtd_dir")
-let dtd_base_url = lazy (Helm_registry.get "getter.dtd_base_url")
+let dtd_base_urls = lazy (
+ let rex = Pcre.regexp "/*$" in
+ let raw_urls = Helm_registry.get_string_list "getter.dtd_base_urls" in
+ List.map (Pcre.replace ~rex) raw_urls)
let port = lazy (Helm_registry.get_int "getter.port")
let _servers = ref None
let servers =
- lazy
+ function () ->
(match !_servers with
| None -> failwith "Getter not yet initialized: servers not available"
| Some servers -> servers)
let save_servers () =
let oc = open_out (Lazy.force servers_file) in
List.iter (fun (_,server) -> output_string oc (server ^ "\n"))
- (Lazy.force servers);
+ (servers ());
close_out oc
let host =
let cache_mode =
lazy
(match String.lowercase (Helm_registry.get "getter.cache_mode") with
- | "normal" -> Enc_normal
- | "gz" -> Enc_gzipped
+ | "normal" -> `Normal
+ | "gz" -> `Gzipped
| mode -> failwith ("Invalid cache mode: " ^ mode))
let reload () = reload_servers ()
host:\t\t%s
port:\t\t%d
my_own_url:\t%s
-dtd_base_url:\t%s
+dtd_base_urls:\t%s
cache_mode:\t%s
servers:
\t%s
+log_file:\t%s
+log_level:\t%d
"
version (Lazy.force cic_dbm) (Lazy.force nuprl_dbm) (Lazy.force rdf_dbm)
(Lazy.force xsl_dbm) (Lazy.force xml_index)
(Lazy.force nuprl_dir) (Lazy.force rdf_dir)
(Lazy.force dtd_dir) (Lazy.force servers_file) (Lazy.force host)
(Lazy.force port) (Lazy.force my_own_url)
- (Lazy.force dtd_base_url)
- (match Lazy.force cache_mode with Enc_normal -> "Normal" | Enc_gzipped -> "GZipped")
+ (String.concat " " (Lazy.force dtd_base_urls))
+ (match Lazy.force cache_mode with
+ | `Normal -> "Normal"
+ | `Gzipped -> "GZipped")
(String.concat "\n\t" (* (position * server) list *)
(List.map (fun (pos, server) -> sprintf "%3d: %s" pos server)
- (Lazy.force servers)))
+ (servers ())))
+ (match Http_getter_logger.get_log_file () with None -> "None" | Some f -> f)
+ (Http_getter_logger.get_log_level ())
let add_server ?position url =
let new_servers =
- let servers = Lazy.force servers in
+ let servers = servers () in
match position with
| None -> servers @ [-1, url];
| Some p when p > 0 ->
reload_servers ()
let remove_server position =
- _servers := Some (List.remove_assoc position (Lazy.force servers));
+ _servers := Some (List.remove_assoc position (servers ()));
save_servers ();
reload_servers ()