X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matitaB%2Fmatita%2Fmatitadaemon.ml;h=cd7d71dc94033e42ef3cb255213143c4c7102531;hb=bb9c48af6f729b0616a0fc5f1fd9037d4c3f2c89;hp=744034e060ba1c7c7f4c638584cbd865448a4861;hpb=08935b4293e1c78bbe2ac4b972dbe47023160919;p=helm.git diff --git a/matitaB/matita/matitadaemon.ml b/matitaB/matita/matitadaemon.ml index 744034e06..cd7d71dc9 100644 --- a/matitaB/matita/matitadaemon.ml +++ b/matitaB/matita/matitadaemon.ml @@ -403,6 +403,31 @@ let retract (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) = ;; +let viewLib (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) = + let cgi = Netcgi1_compat.Netcgi_types.of_compat_activation cgi in + let env = cgi#environment in + + let sid = Uuidm.of_string (Netcgi.Cookie.value (env#cookie "session")) in + let sid = HExtlib.unopt sid in + cgi # set_header + ~cache:`No_cache + ~content_type:"text/html; charset=\"utf-8\"" + (); + let uid = MatitaAuthentication.user_of_session sid in + + let html = MatitaFilesystem.html_of_library uid in + cgi#out_channel#output_string + ((* + "\n" ^ + "XML Tree Control\n" ^ + "\n" ^ + "\n" ^ + "\n" ^ *) + html (* ^ "\n" *) ); + cgi#out_channel#commit_work() + +;; + open Netcgi1_compat.Netcgi_types;; (**********************************************************************) @@ -487,6 +512,13 @@ let start() = dyn_translator = (fun _ -> ""); (* not needed *) dyn_accept_all_conditionals = false; } in + let do_viewlib = + { Nethttpd_services.dyn_handler = (fun _ -> viewLib); + dyn_activation = Nethttpd_services.std_activation `Std_activation_buffered; + dyn_uri = None; (* not needed *) + dyn_translator = (fun _ -> ""); (* not needed *) + dyn_accept_all_conditionals = false; + } in let nethttpd_factory = Nethttpd_plex.nethttpd_factory @@ -496,7 +528,8 @@ let start() = ; "open", retrieve ; "register", do_register ; "login", do_login - ; "logout", do_logout ] + ; "logout", do_logout + ; "viewlib", do_viewlib] () in MatitaInit.initialize_all (); MatitaAuthentication.deserialize ();