| `Xml -> return_all_uris "alluris" uris outchan
let return_ls regexp fmt outchan =
- let ls_items = Http_getter.ls regexp in
+ let ls_items = Http_getter.ls ~local:false regexp in
let buf = Buffer.create 10240 in
(match fmt with
| `Text ->
let return_resolve writable uri outchan =
try
return_xml_raw
- (sprintf "<url value=\"%s\" />\n" (Http_getter.resolve ~writable uri))
+ (sprintf "<url value=\"%s\" />\n"
+ (Http_getter.resolve ~writable ~local:false uri))
outchan
with
| Unresolvable_URI _ -> return_xml_raw "<unresolvable />\n" outchan
(* thread action *)
-let callback ((req: Http_types.request), outchan) =
+let callback (req: Http_types.request) outchan =
try
Http_getter_logger.log ("Connection from " ^ req#clientAddr);
Http_getter_logger.log ("Received request: " ^ req#uri);
let uri = req#param "uri" in
let fname = Http_getter.getxml uri in (* local name, in cache *)
(* remote name *)
- let remote_name = Http_getter.resolve ~writable:false uri in
+ let remote_name =
+ Http_getter.resolve ~writable:false ~local:false uri
+ in
let src_enc = if is_gzip fname then `Gzipped else `Normal in
let enc = parse_enc req in
let fname, cleanup = convert_file ~from_enc:src_enc ~to_enc:enc fname in
log_failure msg;
return_html_error ("uncaught_exception", msg) msg outchan)
-let callback req outchan =
- HExtlib.finally
- (fun () -> try close_out outchan with Sys_error _ -> ())
- callback (req, outchan)
-
let batch_update = ref false
let args = [ ]
let d_spec = Http_daemon.daemon_spec
~mode:`Thread ~timeout:(Some 600)
~port:(Lazy.force Http_getter_env.port)
+ ~auto_close:true
~callback:callback ()
in
try