| Exception e -> raise e
| Resolved url -> url
+let deref_index_theory uri =
+ if Http_getter_storage.exists (uri ^ xml_suffix) then uri
+ else if is_theory_uri uri && Filename.basename uri = "index.theory" then
+ strip_trailing_slash (Filename.dirname uri) ^ theory_suffix
+ else
+ uri
+
(* API *)
let help () = Http_getter_const.usage_string (Http_getter_env.env_to_string ())
if remote () then
exists_remote uri
else
+ let uri = deref_index_theory uri in
Http_getter_storage.exists (uri ^ xml_suffix)
let resolve uri =
if remote () then
resolve_remote uri
else
+ let uri = deref_index_theory uri in
try
Http_getter_storage.resolve (uri ^ xml_suffix)
with Http_getter_storage.Resource_not_found _ -> raise (Key_not_found uri)
-let deref_index_theory uri =
- if is_theory_uri uri && Filename.basename uri = "index.theory" then
- strip_trailing_slash (Filename.dirname uri) ^ theory_suffix
- else
- uri
-
let getxml uri =
if remote () then getxml_remote uri
else begin
let uri' = deref_index_theory uri in
(try
- try
- Http_getter_storage.filename (uri' ^ xml_suffix)
- with Http_getter_storage.Resource_not_found _ as exn ->
- if uri <> uri' then Http_getter_storage.filename (uri ^ xml_suffix)
- else raise (Key_not_found uri)
+ Http_getter_storage.filename (uri' ^ xml_suffix)
with Http_getter_storage.Resource_not_found _ -> raise (Key_not_found uri))
end