cic_dir nuprl_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 list prepended with server number *)
+ (List.map
+ (let idx = ref ~-1 in
+ fun server -> incr idx; sprintf "%3d: %s" !idx server)
+ !servers))
+
+let add_server ?position url =
+ (match position with
+ | Some p -> Http_getter_misc.add_line ~fname:servers_file ~position:p url
+ | None -> Http_getter_misc.add_line ~fname:servers_file url);
+ reload_servers ()
+
+let remove_server position =
+ Http_getter_misc.remove_line ~fname:servers_file position;
+ reload_servers ()
open Http_getter_types;;
- (* general information *)
+ (* {2 general information} *)
val version : string (* getter version *)
- (* environment gathered data *)
+ (* {2 environment gathered data} *)
val cic_dbm : string (* XML map DBM file for CIC *)
val nuprl_dbm : string (* XML map DBM file for NuPRL *)
val port : int (* port on which getter listens *)
val dtd_base_url : string (* base URL for DTD downloading *)
- (* derived data *)
+ (* {2 derived data} *)
val host : string (* host on which getter listens *)
val my_own_url : string (* URL at which contact getter *)
-val servers : string list ref (* servers list *)
+val servers : string list ref (* servers list. DO NOT CHANGE this list,
+ modifications wont be preserved *)
val cache_mode : http_getter_encoding (* cached files encoding *)
val conf_file : string (* configuration file's full path *)
val conf_dir : string (* directory where conf_file resides *)
- (* misc *)
+ (* {2 dynamic configuration changes} *)
-val reload: unit -> unit (* reload servers list *)
+ (* add a server to servers list in a given position (defaults to "after the
+ last server", change servers file accordingly and reload servers list *)
+val add_server: ?position:int -> string -> unit
+ (* remove a server from servers list, change servers file accordingly and
+ reload servers list *)
+val remove_server: int -> unit
+
+ (* {2 misc} *)
+
+val reload: unit -> unit (* reload configuration information *)
val env_to_string : unit -> string (* dump a textual representation of the
current http_getter settings on an output
- channel*)
+ channel *)