| `HTTP_1_1
]
-type meth = [ `GET ]
+type meth =
+ [ `GET
+ | `POST
+ ]
type daemon_mode = [ `Single | `Fork | `Thread ]
exception Invalid_header_name of string
exception Invalid_header_value of string
exception Invalid_HTTP_version of string
+exception Invalid_HTTP_method of string
exception Invalid_code of int
exception Invalid_status of status
exception Invalid_status_line of string
exception Header_not_found of string
-class type response =
- object
+class type message = object
+
method version: version
method setVersion: version -> unit
+
+ method body: string
+ method setBody: string -> unit
+ method bodyBuf: Buffer.t
+ method setBodyBuf: Buffer.t -> unit
+ method addBody: string -> unit
+ method addBodyBuf: Buffer.t -> unit
+
+ method addHeader: name:string -> value:string -> unit
+ method addHeaders: (string * string) list -> 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
+ method headers: (string * string) list
+
+ method clientSockaddr: Unix.sockaddr
+ method clientAddr: string
+ method clientPort: int
+
+ method serverSockaddr: Unix.sockaddr
+ method serverAddr: string
+ method serverPort: int
+
+ method toString: string
+ method serialize: out_channel -> unit
+
+ end
+
+class type request = object
+
+ inherit message
+
+ method meth: meth
+ method uri: string
+ method path: string
+ method param: ?meth:meth -> string -> string
+ method paramAll: ?meth:meth -> string -> string list
+ method params: (string * string) list
+ method params_GET: (string * string) list
+ method params_POST: (string * string) list
+
+ end
+
+class type response = object
+
+ inherit message
+
method code: int
method setCode: int -> unit
method status: status
method setReason: string -> unit
method statusLine: string
method setStatusLine: string -> unit
+
method isInformational: bool
method isSuccess: bool
method isRedirection: bool
method isClientError: bool
method isServerError: bool
method isError: bool
- method contents: string
- method setContents: string -> unit
- method contentsBuf: Buffer.t
- method setContentsBuf: Buffer.t -> unit
- 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
- method headers: (string * string) list
method contentType: string
method setContentType: string -> unit
method contentEncoding: string
method setExpires: string -> unit
method server: string
method setServer: string -> unit
- method toString: string
- method serialize: out_channel -> unit
- end
-class type request =
- object
- 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