sig
  type page = string
  type session_id = string
  type hostname = string
  exception Exit_doc of Toolhtml.doc
  exception Exit_handler of string * (string * string) list
  module type Conf =
    sig
      type t
      val failure_handler : string -> Toolhtml.doc
      val get_user_id : Ows.session_id -> Ows.hostname -> Ows.Conf.t option
      val page_varname : string
      val session_varname : string
    end
  module Params_based :
    functor (C : Conf->
      sig
        type user_id = C.t
        type arg = string * string
        type handler =
            Ows.hostname ->
            (Ows.Params_based.user_id * string) option ->
            Ows.Params_based.arg list -> Toolhtml.doc
        val register : Ows.page -> Ows.Params_based.handler -> unit
        val arg_of_session_id : Ows.session_id -> string
        val arg_of_page : Ows.page -> string
        val cgibin : unit -> string
        val cgibin_of_page : Ows.page -> string
        val handle : Ows.Params_based.handler -> unit
      end
  type cookie_action = Set of string * string | Unset of string * string
  module Cookies_based :
    functor (C : Conf->
      sig
        type user_id = C.t
        type arg = string * string
        type handler =
            Ows.hostname ->
            (Ows.Cookies_based.user_id * string) option ->
            Ows.Cookies_based.arg list -> Toolhtml.doc
        val cookies_actions : Ows.cookie_action list Pervasives.ref
        val register : Ows.page -> Ows.Cookies_based.handler -> unit
        val arg_of_page : Ows.page -> string
        val cgibin : unit -> string
        val cgibin_of_page : Ows.page -> string
        val handle : Ows.Cookies_based.handler -> unit
      end
end