From 9d746b8bd108a349f3d4771adbc3b293f191e282 Mon Sep 17 00:00:00 2001 From: Stefano Zacchiroli Date: Mon, 9 Dec 2002 14:56:03 +0000 Subject: [PATCH] added client_address example which show the ability to retrieve client IP address and port --- helm/DEVEL/ocaml-http/examples/Makefile | 2 +- .../ocaml-http/examples/client_address.ml | 34 +++++++++++++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 helm/DEVEL/ocaml-http/examples/client_address.ml diff --git a/helm/DEVEL/ocaml-http/examples/Makefile b/helm/DEVEL/ocaml-http/examples/Makefile index b6b416e97..6988880da 100644 --- a/helm/DEVEL/ocaml-http/examples/Makefile +++ b/helm/DEVEL/ocaml-http/examples/Makefile @@ -7,7 +7,7 @@ EXAMPLES_FLAGS = -I .. -linkpkg EXAMPLES = \ always_ok_daemon webfsd obj_foo dump_args timeout dont_fork \ - threads chdir damned_recursion oo_daemon + threads chdir damned_recursion oo_daemon client_address all: $(EXAMPLES) opt: $(patsubst %,%.opt,$(EXAMPLES)) diff --git a/helm/DEVEL/ocaml-http/examples/client_address.ml b/helm/DEVEL/ocaml-http/examples/client_address.ml new file mode 100644 index 000000000..75719111e --- /dev/null +++ b/helm/DEVEL/ocaml-http/examples/client_address.ml @@ -0,0 +1,34 @@ + +(* + OCaml HTTP - do it yourself (fully OCaml) HTTP daemon + + Copyright (C) <2002> Stefano Zacchiroli + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*) + +open Printf;; + +let callback req outchan = + let body = + sprintf + "Hi, this is your personal assistant, you are connected from %s:%d\n" + req#clientAddr + req#clientPort + in + let res = new Http_response.response ~body () in + Http_daemon.respond_with res outchan +in +Http_daemon.start' ~port:9999 callback -- 2.39.2