| uri when is_xsl_uri uri -> xsl_map
| uri -> raise (Http_getter_unresolvable_URI uri)
in
-let resolve uri = (map_of_uri uri)#resolve uri in
+let resolve uri =
+ try
+ (map_of_uri uri)#resolve uri
+ with Http_getter_map.Key_not_found _ ->
+ raise (Http_getter_unresolvable_URI uri)
+in
let register uri = (map_of_uri uri )#add uri in
let return_all_foo_uris map doctype filter outchan =
(** return all URIs contained in 'map' which satisfy predicate 'filter'; URIs
return_html_msg "Register done" outchan
| _ -> assert false)
| "/update" ->
- (xml_map#clear; rdf_map#clear; xsl_map#clear;
+ (Http_getter_env.reload (); (* reload servers list from servers file *)
+ xml_map#clear; rdf_map#clear; xsl_map#clear;
let log =
List.fold_left
update_from_server
"" (* initial logmsg: empty *)
(* reverse order: 1st server is the most important one *)
- (List.rev Http_getter_env.servers)
+ (List.rev !Http_getter_env.servers)
in
xml_map#sync; rdf_map#sync; xsl_map#sync;
return_html_msg log outchan)