Up

module Headers

: sig
#
module Config : sig
#
module Header_cond : sig
#
type t = {
# name
: Email_message.Field_name.t;
# if_
: [
| `Contains of string
] Core.Std.sexp_option
;
}
#
val t_of_sexp : Sexplib.Sexp.t -> t
#
val sexp_of_t : t -> Sexplib.Sexp.t
end
#
module Listed_header_cond : sig
#
type t = {
# name
: Email_message.Field_name.t;
# if_
: [
| `Contains of string
] Core.Std.sexp_option
;
# remove_duplicates
: unit Core.Std.sexp_option;
}
#
val t_of_sexp : Sexplib.Sexp.t -> t
#
val sexp_of_t : t -> Sexplib.Sexp.t
end
#
type t = {
# strip_whitespace
: unit Core.Std.sexp_option;
# normalize_whitespace
: Header_cond.t Core.Std.sexp_list;
# filter
: Header_cond.t Core.Std.sexp_list;
# mask
: Header_cond.t Core.Std.sexp_list;
# hash
: Header_cond.t Core.Std.sexp_list;
# dedup
: Header_cond.t Core.Std.sexp_list;
# sort_emails
: Listed_header_cond.t Core.Std.sexp_list;
# sort_words
: Listed_header_cond.t Core.Std.sexp_list;
# sort
: Core.Std.sexp_bool;
}
#
val default : t
#
val load : string -> t Async.Std.Deferred.t
#
val t_of_sexp : Sexplib.Sexp.t -> t
#
val sexp_of_t : t -> Sexplib.Sexp.t
end
#
module Header : sig
#
type t = Email_message.Field_name.t * string
#
val compare : t -> t -> int
end
#
val transform : Config.t -> Async_smtp.Std.Smtp_envelope.t -> Async_smtp.Std.Smtp_envelope.t
end