]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/DEVEL/ocaml-http/http_types.ml
- added methods to retrieve client IP address related info
[helm.git] / helm / DEVEL / ocaml-http / http_types.ml
index 70c8fce63825b8036dd336c89f55ba9d9740ade3..fa09a3d5c72023d428f19b09b07bf6c410fa5a0a 100644 (file)
@@ -107,6 +107,25 @@ type status =
   | server_error_status
   ]
 
+exception Invalid_header of string
+exception Invalid_header_name of string
+exception Invalid_header_value of string
+exception Invalid_HTTP_version of string
+exception Invalid_code of int
+exception Invalid_status of status
+
+exception Malformed_query of string
+exception Malformed_query_part of string * string
+exception Unsupported_method of string
+exception Unsupported_HTTP_version of string
+exception Malformed_request_URI of string
+exception Malformed_request of string
+
+exception Param_not_found of string
+
+exception Invalid_status_line of string
+exception Header_not_found of string
+
 class type response =
   object
     method version: version
@@ -132,8 +151,10 @@ class type response =
     method addContents: string -> unit
     method addContentsBuf: Buffer.t -> unit
     method addHeader: name:string -> value:string -> unit
+    method addHeaders: (string * string) list -> unit
     method addBasicHeaders: unit
     method replaceHeader: name:string -> value:string -> unit
+    method replaceHeaders: (string * string) list -> unit
     method removeHeader: name:string -> unit
     method hasHeader: name:string -> bool
     method header: name:string -> string
@@ -156,5 +177,21 @@ class type request =
     method uri: string
     method path: string
     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
+    method getRequest: request option
+    method respond_with: response -> unit
+    method close: unit
+  end
+class type daemon =
+  object
+    method accept: connection
+    method getRequest: request * connection
+  end
+