`sig
type t
val create :
?config_info:Ocsigen_extensions.config_info ->
?id:[ `Attach of Ocsigen_server.Site.t * Ocsigen_lib.Url.path
| `Host of string * int option ] ->
?charset:Ocsigen_charset_mime.charset ->
?auto_load_extensions:bool -> unit -> Ocsigen_server.Site.t
module Config :
sig
type 'a key
val key : ?preprocess:('a -> 'a) -> unit -> 'a key
val find : t -> 'a key -> 'a option
val set : t -> 'a key -> 'a -> unit
val unset : t -> 'a key -> unit
type accessor = { accessor : 'a. 'a key -> 'a option; }
end
type extension
val create_extension :
(Ocsigen_server.Site.Config.accessor -> Ocsigen_extensions.extension) ->
Ocsigen_server.Site.extension
val register :
Ocsigen_server.Site.t -> Ocsigen_server.Site.extension -> unit
val create_extension_intrusive :
(Ocsigen_extensions.virtual_hosts ->
Ocsigen_extensions.config_info ->
Ocsigen_lib.Url.path ->
Ocsigen_server.Site.Config.accessor -> Ocsigen_extensions.extension) ->
Ocsigen_server.Site.extension
end`