The Ocgi library
The count example
open Ocgi
let a = ref 0
let b = ref 0
let options =
[ "a", Args.Set_int a, [Args.Mandatory "Missing \"a\" parameter!"] ;
"b", Args.Set_int b, [Args.Mandatory "Missing \"b\" parameter!"] ;
]
let main () =
let env = Env.get_cgi_env () in
let result =
try
Args.parse env options;
let s = Printf.sprintf "%d + %d = %d" !a !b (!a + !b) in
s
with
Args.Missing_argument (_, mes) ->
mes
| e ->
Printexc.to_string e
in
let form =
Html.form env.Env.script_name
(Html.seq
[
Html.input Html.Text "a" ;
" + ";
Html.input Html.Text "b" ;
" = " ;
Html.submit_button "?" ;
]
)
in
let contents =
Html.seq
[
result ;
Html.br;
form
]
in
print_string
(Model.html_answer
(Html.page "Ocgi: count demo" contents, [])
)
let _ = main ()
|