module Netascii_armor:sig
..end
Messages with ASCII armor
There are various forms of ASCII-armored messages:
typearmor_type =
[ `Base64 | `OpenPGP | `Plain ]
typearmored_message =
[ `Base64 of Netmime.mime_body
| `OpenPGP of Netmime.mime_header * Netmime.mime_body * int
| `Plain of Netmime.mime_body ]
Messages:
`Plain m
: The body m
is written as-is`Base64 m
: The body m
needs to be BASE-64-encoded in order
to create the ASCII armor`OpenPGP(h,m,chksum)
: There is a header h
, a body m
which
will be BASE-64-encoded, and a checksum chksum
typearmored_message_ro =
[ `Base64 of Netmime.mime_body_ro
| `OpenPGP of Netmime.mime_header_ro * Netmime.mime_body_ro * int
| `Plain of Netmime.mime_body_ro ]
The read-only version of armored_message
typearmor_spec =
(string * armor_type) list
Which types of armor to decode, and how. The strings are the
identifiers in the boundaries, e.g. include
"PRIVACY-ENHANCED MESSAGE" if the boundaries are
"-----BEGIN PRIVACY-ENHANCED MESSAGE-----" and
"-----END PRIVACY-ENHANCED MESSAGE-----". For every type you can
define the armor_type
.
val parse : armor_spec ->
Netchannels.in_obj_channel ->
(string * armored_message_ro) list
Parses the channel, and returns all messages that are enabled in the specification.
The channel is read line-by-line.