(******************************************************************************)
let get_annobj uri =
- let module G = Getter in
let module U = UriManager in
- let cicfilename = G.getxml (U.cicuri_of_uri uri) in
+ let cicfilename = Http_getter.getxml' (U.cicuri_of_uri uri) in
match (U.bodyuri_of_uri uri) with
None ->
let annobj = CicParser.annobj_of_xml cicfilename None in
Unix.unlink cicfilename ;
annobj
| Some bodyuri ->
- let cicbodyfilename = G.getxml (U.cicuri_of_uri bodyuri) in
+ let cicbodyfilename =
+ try
+ ignore (Http_getter.resolve' bodyuri) ;
+ (* The body exists ==> it is not an axiom *)
+ Some (Http_getter.getxml' bodyuri)
+ with
+ Http_getter_types.Unresolvable_URI _ ->
+ (* The body does not exist ==> we consider it an axiom *)
+ None
+ in
let annobj =
- CicParser.annobj_of_xml cicfilename (Some cicbodyfilename)
+ CicParser.annobj_of_xml cicfilename cicbodyfilename
in
Unix.unlink cicfilename ;
- Unix.unlink cicbodyfilename ;
+ (match cicbodyfilename with None -> () | Some f -> Unix.unlink f) ;
annobj
;;
let get_obj uri =
- let module G = Getter in
let module U = UriManager in
- let cicfilename = G.getxml (U.cicuri_of_uri uri) in
+ let cicfilename = Http_getter.getxml' (U.cicuri_of_uri uri) in
match (U.bodyuri_of_uri uri) with
None ->
let obj = CicParser.obj_of_xml cicfilename None in
Unix.unlink cicfilename ;
obj
| Some bodyuri ->
- let cicbodyfilename = G.getxml (U.cicuri_of_uri bodyuri) in
- let obj = CicParser.obj_of_xml cicfilename (Some cicbodyfilename) in
+ let cicbodyfilename =
+ try
+ ignore (Http_getter.resolve' bodyuri) ;
+ (* The body exists ==> it is not an axiom *)
+ Some (Http_getter.getxml' bodyuri)
+ with Http_getter_types.Unresolvable_URI _ ->
+ (* The body does not exist ==> we consider it an axiom *)
+ None
+ in
+ let obj = CicParser.obj_of_xml cicfilename cicbodyfilename in
Unix.unlink cicfilename ;
- Unix.unlink cicbodyfilename ;
+ (match cicbodyfilename with None -> () | Some f -> Unix.unlink f) ;
obj
;;