[Pleac-commits] CVS: pleac/pleac pleac_ocaml.data,1.239,1.240
Status: Alpha
Brought to you by:
ggc
From: Dave B. <ram...@us...> - 2008-11-06 14:12:40
|
Update of /cvsroot/pleac/pleac/pleac In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv5681 Modified Files: pleac_ocaml.data Log Message: 19.9: Debugging the raw HTTP exchange Index: pleac_ocaml.data =================================================================== RCS file: /cvsroot/pleac/pleac/pleac/pleac_ocaml.data,v retrieving revision 1.239 retrieving revision 1.240 diff -u -r1.239 -r1.240 --- pleac_ocaml.data 6 Nov 2008 05:28:48 -0000 1.239 +++ pleac_ocaml.data 6 Nov 2008 14:12:34 -0000 1.240 @@ -16656,6 +16656,37 @@ Content-Type: text/html *) +(* @@PLEAC@@_19.9 *) +#!/usr/bin/ocaml +(* dummyhttpd - start an HTTP daemon and print what the client sends *) + +#load "unix.cma";; + +let host = "localhost" +let port = 8989 + +let () = + Printf.printf "Please contact me at: http://%s:%d/\n%!" host port; + let addr = (Unix.gethostbyname host).Unix.h_addr_list.(0) in + let server = Unix.socket Unix.PF_INET Unix.SOCK_STREAM 0 in + Unix.setsockopt server Unix.SO_REUSEADDR true; + Unix.bind server (Unix.ADDR_INET (addr, port)); + Unix.listen server 10; + while true do + begin + let client, sockaddr = Unix.accept server in + let in_channel = Unix.in_channel_of_descr client in + try + while true do + let line = input_line in_channel in + print_endline line + done + with End_of_file -> + print_endline "EOF"; + close_in in_channel + end + done + (* @@PLEAC@@_20.0 *) (* Libraries for HTTP clients and servers are listed at The Caml Hump: *) |