]> matita.cs.unibo.it Git - helm.git/commitdiff
- added methods to retrieve client IP address related info
authorStefano Zacchiroli <zack@upsilon.cc>
Mon, 9 Dec 2002 14:58:24 +0000 (14:58 +0000)
committerStefano Zacchiroli <zack@upsilon.cc>
Mon, 9 Dec 2002 14:58:24 +0000 (14:58 +0000)
helm/DEVEL/ocaml-http/http_request.ml
helm/DEVEL/ocaml-http/http_request.mli
helm/DEVEL/ocaml-http/http_types.ml

index 4eec70279267664de63821dcda4592e87b38350c..c135c95b31059294582dd98161fcfde6e5525f31 100644 (file)
@@ -22,7 +22,8 @@
 open Http_common;;
 open Http_types;;
 
-class request ~path ~params =
+class request ~path ~params ~clisockaddr =
+  let (addr, port) = Http_misc.explode_sockaddr clisockaddr in
   object (self)
     val params_tbl =
       let tbl = Hashtbl.create (List.length params) in
@@ -40,5 +41,8 @@ class request ~path ~params =
         raise (Param_not_found name)
     method paramAll name = List.rev (Hashtbl.find_all params_tbl name)
     method params = params
+    method clientSockaddr = clisockaddr
+    method clientAddr = addr
+    method clientPort = port
   end
 
index 2b603c787a09fe60d8763d6e937ba14103bfd33e..8cc2234444c8ab2c5c6025a2bbc5244918a3c62c 100644 (file)
   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 *)
 
-  (** fooish class to enclose callback's arguments *)
+  (** OO representation of an HTTP request
+  @param path path requested by client
+  @param params list of <name, value> bindings enclosed in request
+  @param clisockaddr client's Unix.sockaddr *)
 class request:
   path: string -> params: (string * string) list ->
+  clisockaddr: Unix.sockaddr ->
     Http_types.request
 
index ebbcbcc3519b6ef746f2e3580ad275fe1744f7af..fa09a3d5c72023d428f19b09b07bf6c410fa5a0a 100644 (file)
@@ -179,6 +179,9 @@ class type request =
     method param: string -> string
     method paramAll: string -> string list
     method params: (string * string) list
+    method clientSockaddr: Unix.sockaddr
+    method clientAddr: string
+    method clientPort: int
   end
 class type connection =
   object