From d97a5aeaed9e54e7a5c33570c3daaa0342979b66 Mon Sep 17 00:00:00 2001 From: Stefano Zacchiroli Date: Sun, 23 Feb 2003 16:56:34 +0000 Subject: [PATCH] - better error messages on make failure - synced with O'Http 0.0.8 --- helm/graphs/tools/drawGraph.ml | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/helm/graphs/tools/drawGraph.ml b/helm/graphs/tools/drawGraph.ml index 0caba5bef..b7abfe901 100644 --- a/helm/graphs/tools/drawGraph.ml +++ b/helm/graphs/tools/drawGraph.ml @@ -1,4 +1,3 @@ - (* Copyright (C) 2002, HELM Team. * * This file is part of HELM, an Hypertextual, Electronic @@ -24,11 +23,10 @@ * http://cs.unibo.it/helm/. *) +open Printf;; + let debug = true;; let debug_print s = if debug then prerr_endline s;; -Http_common.debug := debug;; - -open Printf;; let daemon_name = "Draw Graph";; let default_port = 48083;; @@ -55,16 +53,23 @@ let port = in let dir = try Sys.getenv dir_env_var with Not_found -> default_dir in let errmsg = + sprintf " Graph: error

Error occured while drawing graph!
Please report the occured problem

+

%s

" in -let callback req outchan = +let string_of_exit_status = function + | Unix.WEXITED n -> sprintf "Process exited with code %d" n + | Unix.WSIGNALED n -> sprintf "Process killed by signal %d" n + | Unix.WSTOPPED n -> sprintf "Process stopped by signal %d" n +in +let callback (req: Http_types.request) outchan = try (match req#path with | "/draw" -> @@ -75,11 +80,15 @@ let callback req outchan = | Unix.WEXITED 0 -> debug_print "HTML successfully generated"; Http_daemon.respond_file (sprintf "prova.%d.html" pid) outchan - | _ -> - debug_print "Failure, sending error message"; - let res = new Http_response.response in - res#setContents errmsg; - Http_daemon.respond_with res outchan) + | status -> + debug_print "Failure, sending error message"; + let res = + new Http_response.response + ~body: + (errmsg ("Exit status: " ^ (string_of_exit_status status))) + () + in + Http_daemon.respond_with res outchan) | "/get_gif" -> let pid = req#param "pid" in Http_daemon.respond_file (sprintf "prova.%s.gif" pid) outchan; @@ -88,7 +97,7 @@ let callback req outchan = | invalid_request -> Http_daemon.respond_error ~status:(`Client_error `Bad_request) outchan) with - | Http_request.Param_not_found attr_name -> + | Http_types.Param_not_found attr_name -> Http_daemon.respond_error ~status:(`Client_error `Bad_request) ~body:(sprintf "Parameter '%s' is missing" attr_name) -- 2.39.2