sig
type http_server_func =
Amall_http.request ->
(Cd_All.Strings.Latin1.char, Amall_http.response) I.iteratee
type http_service_func =
Amall_http.segpath ->
Amall_http.request ->
(Cd_All.Strings.Latin1.char, Amall_http.response) I.iteratee
module Ws :
sig
type ws_out_socket = Amall_http.Make(IO)(I).Ws.ws_out_socket
val of_out_channel : IO.output_channel -> ws_out_socket
exception Output_closed
exception Close_received of int
val send :
ws_out_socket -> Amall_http.ws_opcode_out -> string -> unit IO.m
val close : ws_out_socket -> (int * string) option -> unit IO.m
val it_close :
ws_out_socket ->
int option -> (Cd_All.Strings.Latin1.char, unit) I.iteratee
val is_close_sent : ws_out_socket -> bool
end
type websocket_service_func_worker =
Amall_http.ws_opcode_in ->
(Cd_All.Strings.Latin1.char, unit) I.iteratee
type websocket_service_func =
(Amall_http.segpath, Amall_http.request, Ws.ws_out_socket,
websocket_service_func_worker)
Cd_All.Partapp3.partapp3
type service_desc =
[ `Service_http of http_service_func
| `Service_ws of websocket_service_func ]
val response_headers :
Amall_http.response ->
(string * string) list -> (string * string) list IO.m
val string_of_header : Cd_All.Strings.Latin1.String.t * string -> string
val string_of_response_headers : Amall_http.response -> string I.It_IO.m
val read_the_string :
Cd_All.Strings.Latin1.String.t -> I.err_msg -> (char, unit) I.iteratee
val it_eof : ('a, 'b) I.iteratee -> ('c, 'b) I.iteratee
val it_eof_ignore : ('a, 'b) I.iteratee -> ('c, unit) I.iteratee
val list_map_all :
('a -> ('b, 'c) I.iteratee) -> 'a list -> ('b, 'c list) I.iteratee
val can_upgrade_to_websocket : Amall_http.request -> string option
val it_http :
(Amall_http.request -> Amall_http.segpath * service_desc) ->
(Cd_All.Strings.Latin1.char,
Amall_http.request *
[ `Http of (Cd_All.Strings.Latin1.char, Amall_http.response) I.iteratee
| `Ws of string * websocket_service_func * Amall_http.segpath ])
I.iteratee
val it_post_vars :
(Cd_All.Strings.Latin1.char, (string * string) list) I.iteratee
val request_with_post_vars :
Amall_http.request ->
(Cd_All.Strings.Latin1.char, Amall_http.request * (string * string) list)
I.iteratee
val output_file_buffer_size : int ref
val output_body_file :
IO.output_channel -> string -> int64 -> unit I.It_IO.m
val output_body : IO.output_channel -> Amall_http.rs_body -> unit I.It_IO.m
val output_response :
is_head:bool ->
IO.output_channel -> Amall_http.response -> unit I.It_IO.m
end