Constructor
val empty : tempty is the empty collection of header fields.
of_list assoc is a collection of header fields defined by the association list assoc. of_list assumes the order of header fields in assoc is the intended transmission order. The following equations should hold:
to_list (of_list lst) = lstget (of_list [("k", "v1"); ("k", "v2")]) "k" = Some "v2".
of_list assoc is a collection of header fields defined by the association list assoc. of_list assumes the order of header fields in assoc is the reverse of the intended trasmission order. The following equations should hold:
to_list (of_rev_list lst) = List.rev lstget (of_rev_list [("k", "v1"); ("k", "v2")]) "k" = Some "v1".
to_list t is the association list of header fields contained in t in transmission order.
to_rev_list t is the association list of header fields contained in t in reverse transmission order.
add t name value is a collection of header fields that is the same as t except with (name, value) added at the end of the trasmission order. The following equations should hold:
get (add t name value) name = Some value
add_unless_exists t name value is a collection of header fields that is the same as t if t already inclues name, and otherwise is equivalent to add t name value.
add_list t assoc is a collection of header fields that is the same as t except with all the header fields in assoc added to the end of the transmission order, in reverse order.
add_multi t assoc is the same as
add_list t (List.concat_map assoc ~f:(fun (name, values) ->
List.map values ~f:(fun value -> (name, value))))but is implemented more efficiently. For example,
add_multi t ["name1", ["x", "y"]; "name2", ["p", "q"]]
= add_list ["name1", "x"; "name1", "y"; "name2", "p"; "name2", "q"]remove t name is a collection of header fields that contains all the header fields of t except those that have a header-field name that are equal to name. If t contains multiple header fields whose name is name, they will all be removed.
replace t name value is a collection of header fields that is the same as t except with all header fields with a name equal to name removed and replaced with a single header field whose name is name and whose value is value. This new header field will appear in the transmission order where the first occurrence of a header field with a name matching name was found.
If no header field with a name equal to name is present in t, then the result is simply t, unchanged.
Destructors
mem t name is true iff t includes a header field with a name that is equal to name.
get t name returns the last header from t with name name, or None if no such header is present.
get t name returns the last header from t with name name, or raises if no such header is present.
get_multi t name is the list of header values in t whose names are equal to name. The returned list is in transmission order.
Iteration
Utilities
val to_string : t -> stringval pp_hum : Stdlib.Format.formatter -> t -> unit