sig
exception Ocsigen_404
exception Ocsigen_Is_a_directory
exception Ocsigen_malformed_url
exception Ocsigen_Internal_Error of string
exception Bad_config_tag_for_extension of string
exception Error_in_config_file of string
type url_path = string list
type current_url = string list
type current_dir = string list
type cookies =
Set of string list option * float option * (string * string) list
| Unset of (string list option * string list)
type cookieslist = Extensions.cookies list
val change_cookie :
Extensions.cookies ->
string list option * float option * (string * string) list
type file_info = {
tmp_filename : string;
filesize : int64;
original_filename : string;
}
type request_info = {
ri_url : string;
ri_path_string : string;
ri_path : string list;
ri_params : string;
ri_host : string option;
ri_get_params : (string * string) list Lazy.t;
ri_post_params : (string * string) list Lwt.t Lazy.t;
ri_files : (string * Extensions.file_info) list Lwt.t Lazy.t;
ri_inet_addr : Unix.inet_addr;
ri_ip : string;
ri_port : int;
ri_user_agent : string;
ri_cookies : (string * string) list Lazy.t;
ri_ifmodifiedsince : float option;
ri_http_frame : Predefined_senders.Stream_http_frame.http_frame;
}
type result = {
res_cookies : Extensions.cookieslist;
res_lastmodified : float option;
res_etag : Http_frame.etag option;
res_code : int option;
res_send_page : Predefined_senders.send_page_type;
res_create_sender : Predefined_senders.create_sender_type;
res_charset : string option;
}
type charset_tree_type
type answer =
Ext_found of Extensions.result
| Ext_not_found
| Ext_continue_with of Extensions.request_info * Extensions.cookieslist
| Ext_retry_with of Extensions.request_info * Extensions.cookieslist
module R :
sig
val register_extension :
(Ocsimisc.virtual_hosts ->
(string option -> Extensions.request_info -> Extensions.answer Lwt.t) *
(string list -> Simplexmlparser.xml -> unit)) *
(unit -> unit) * (unit -> unit) * (exn -> string) -> unit
end
val get_config : unit -> Simplexmlparser.xml list
val create_virthost :
Ocsimisc.virtual_hosts ->
((Extensions.request_info ->
(Extensions.answer * Extensions.cookieslist) Lwt.t) *
(string list -> Simplexmlparser.xml -> unit)) *
(string option -> string list -> unit)
val set_virthosts :
(Ocsimisc.virtual_hosts *
(Extensions.request_info ->
(Extensions.answer * Extensions.cookieslist) Lwt.t))
list -> unit
val get_virthosts :
unit ->
(Ocsimisc.virtual_hosts *
(Extensions.request_info ->
(Extensions.answer * Extensions.cookieslist) Lwt.t))
list
val add_virthost :
Ocsimisc.virtual_hosts *
(Extensions.request_info ->
(Extensions.answer * Extensions.cookieslist) Lwt.t) ->
unit
val do_for_host_matching :
string option ->
int ->
((Ocsimisc.virtual_host_part list * int option) list *
(Extensions.request_info ->
(Extensions.answer * Extensions.cookieslist) Lwt.t))
list ->
Extensions.request_info ->
(Extensions.result * Extensions.cookieslist) Lwt.t
val get_number_of_connected : unit -> int
val get_number_of_connected : unit -> int
val incr_connected : unit -> unit
val decr_connected : unit -> unit
val during_initialisation : unit -> bool
val start_initialisation : unit -> unit
val end_initialisation : unit -> unit
val get_numberofreloads : unit -> int
val get_init_exn_handler : unit -> exn -> string
val set_config : Simplexmlparser.xml list -> unit
end