Ocamlnet 3 Reference Manual : Netmime

`sig
type store = [ `File of string | `Memory ]
exception Immutable of string
class type mime_header_ro =
object
method content_disposition :
unit -> string * (string * Mimestring.s_param) list
method content_length : unit -> int
method content_transfer_encoding : unit -> string
method content_type :
unit -> string * (string * Mimestring.s_param) list
method field : string -> string
method fields : (string * string) list
method multiple_field : string -> string list
end
class type mime_header =
object
method content_disposition :
unit -> string * (string * Mimestring.s_param) list
method content_length : unit -> int
method content_transfer_encoding : unit -> string
method content_type :
unit -> string * (string * Mimestring.s_param) list
method delete_field : string -> unit
method field : string -> string
method fields : (string * string) list
method multiple_field : string -> string list
method ro : bool
method set_fields : (string * string) list -> unit
method update_field : string -> string -> unit
method update_multiple_field : string -> string list -> unit
end
class type mime_body_ro =
object
method finalize : unit -> unit
method open_value_rd : unit -> Netchannels.in_obj_channel
method store : Netmime.store
method value : string
end
class type mime_body =
object
method finalize : unit -> unit
method open_value_rd : unit -> Netchannels.in_obj_channel
method open_value_wr : unit -> Netchannels.out_obj_channel
method ro : bool
method set_value : string -> unit
method store : store
method value : string
end
type complex_mime_message = Netmime.mime_header * Netmime.complex_mime_body
and complex_mime_body =
[ `Body of Netmime.mime_body
| `Parts of Netmime.complex_mime_message list ]
type complex_mime_message_ro =
Netmime.mime_header_ro * Netmime.complex_mime_body_ro
and complex_mime_body_ro =
[ `Body of Netmime.mime_body_ro
| `Parts of Netmime.complex_mime_message_ro list ]
type mime_message = Netmime.mime_header * [ `Body of Netmime.mime_body ]
type mime_message_ro =
Netmime.mime_header_ro * [ `Body of Netmime.mime_body_ro ]
class basic_mime_header : ?ro:bool -> (string * string) list -> mime_header
class memory_mime_body : ?ro:bool -> string -> mime_body
class file_mime_body : ?ro:bool -> ?fin:bool -> string -> mime_body
val read_mime_header :
?unfold:bool ->
?strip:bool -> ?ro:bool -> Netstream.in_obj_stream -> Netmime.mime_header
type multipart_style = [ `Deep | `Flat | `None ]
val decode_mime_body :
#Netmime.mime_header_ro ->
Netchannels.out_obj_channel -> Netchannels.out_obj_channel
val storage :
?ro:bool ->
?fin:bool ->
Netmime.store -> Netmime.mime_body * Netchannels.out_obj_channel
val read_mime_message :
?unfold:bool ->
?strip:bool ->
?ro:bool ->
?multipart_style:Netmime.multipart_style ->
?storage_style:(Netmime.mime_header ->
Netmime.mime_body * Netchannels.out_obj_channel) ->
Netstream.in_obj_stream -> Netmime.complex_mime_message
val encode_mime_body :
?crlf:bool ->
#Netmime.mime_header_ro ->
Netchannels.out_obj_channel -> Netchannels.out_obj_channel
val write_mime_message :
?wr_header:bool ->
?wr_body:bool ->
?nr:int ->
?ret_boundary:string Pervasives.ref ->
?crlf:bool ->
Netchannels.out_obj_channel -> Netmime.complex_mime_message -> unit
end`