Plasma GitLab Archive
Projects Blog Knowledge

sig
  val scan_header :
    ?downcase:bool ->
    ?unfold:bool ->
    ?strip:bool ->
    string -> start_pos:int -> end_pos:int -> (string * string) list * int
  val read_header :
    ?downcase:bool ->
    ?unfold:bool ->
    ?strip:bool -> Netstream.in_obj_stream -> (string * string) list
  val write_header :
    ?soft_eol:string ->
    ?eol:string ->
    Netchannels.out_obj_channel -> (string * string) list -> unit
  type s_token =
      Atom of string
    | EncodedWord of ((string * string) * string * string)
    | QString of string
    | Control of char
    | Special of char
    | DomainLiteral of string
    | Comment
    | End
  type s_option =
      No_backslash_escaping
    | Return_comments
    | Recognize_encoded_words
  type s_extended_token
  val get_token : Mimestring.s_extended_token -> Mimestring.s_token
  val get_decoded_word : Mimestring.s_extended_token -> string
  val get_charset : Mimestring.s_extended_token -> string
  val get_language : Mimestring.s_extended_token -> string
  val get_pos : Mimestring.s_extended_token -> int
  val get_line : Mimestring.s_extended_token -> int
  val get_column : Mimestring.s_extended_token -> int
  val get_length : Mimestring.s_extended_token -> int
  val separates_adjacent_encoded_words : Mimestring.s_extended_token -> bool
  type mime_scanner
  val create_mime_scanner :
    specials:char list ->
    scan_options:Mimestring.s_option list ->
    ?pos:int -> ?line:int -> ?column:int -> string -> Mimestring.mime_scanner
  val get_pos_of_scanner : Mimestring.mime_scanner -> int
  val get_line_of_scanner : Mimestring.mime_scanner -> int
  val get_column_of_scanner : Mimestring.mime_scanner -> int
  val scan_token :
    Mimestring.mime_scanner ->
    Mimestring.s_extended_token * Mimestring.s_token
  val scan_token_list :
    Mimestring.mime_scanner ->
    (Mimestring.s_extended_token * Mimestring.s_token) list
  val scan_structured_value :
    string ->
    char list -> Mimestring.s_option list -> Mimestring.s_token list
  val specials_rfc822 : char list
  val specials_rfc2045 : char list
  val scan_encoded_text_value : string -> Mimestring.s_extended_token list
  val scan_value_with_parameters :
    string -> Mimestring.s_option list -> string * (string * string) list
  type s_param
  val param_value : Mimestring.s_param -> string
  val param_charset : Mimestring.s_param -> string
  val param_language : Mimestring.s_param -> string
  val mk_param :
    ?charset:string -> ?language:string -> string -> Mimestring.s_param
  val print_s_param : Format.formatter -> Mimestring.s_param -> unit
  val scan_value_with_parameters_ep :
    string ->
    Mimestring.s_option list -> string * (string * Mimestring.s_param) list
  val scan_mime_type :
    string -> Mimestring.s_option list -> string * (string * string) list
  val scan_mime_type_ep :
    string ->
    Mimestring.s_option list -> string * (string * Mimestring.s_param) list
  val split_mime_type : string -> string * string
  exception Line_too_long
  val write_value :
    ?maxlen1:int ->
    ?maxlen:int ->
    ?hardmaxlen1:int ->
    ?hardmaxlen:int ->
    ?fold_qstring:bool ->
    ?fold_literal:bool ->
    ?unused:int Pervasives.ref ->
    ?hardunused:int Pervasives.ref ->
    Netchannels.out_obj_channel -> Mimestring.s_token list -> unit
  val param_tokens :
    ?maxlen:int ->
    (string * Mimestring.s_param) list -> Mimestring.s_token list
  val split_uri : string -> Mimestring.s_token list
  val scan_multipart_body :
    string ->
    start_pos:int ->
    end_pos:int -> boundary:string -> ((string * string) list * string) list
  val scan_multipart_body_and_decode :
    string ->
    start_pos:int ->
    end_pos:int -> boundary:string -> ((string * string) list * string) list
  val scan_multipart_body_from_netstream :
    Netstream.in_obj_stream ->
    boundary:string ->
    create:((string * string) list -> 'a) ->
    add:('-> Netstream.in_obj_stream -> int -> int -> unit) ->
    stop:('-> unit) -> unit
  val read_multipart_body :
    (Netstream.in_obj_stream -> 'a) ->
    string -> Netstream.in_obj_stream -> 'a list
  val create_boundary : ?random:string list -> ?nr:int -> unit -> string
end
This web site is published by Informatikbüro Gerd Stolpmann
Powered by Caml