package rpmfile-eio

  1. Overview
  2. Docs
RPM package metadata reader (powered by Eio)

Install

Dune Dependency

Authors

Maintainers

Sources

0.5.tar.gz
md5=4175664de64bf013df018dcca94078ae
sha512=4bd49790d52bbdf56d2684a5be4d1df3276a73e387b079354fcdc2276550a372137d2b1a9d5b41902fa470630416257d7e6d3c1359768e5121a0b8bc501945c7

doc/src/rpmfile-eio/reader.ml.html

Source file reader.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
module type S = sig
  val of_flow :
    ?initial_size:int ->
    max_size:int ->
    _ Eio.Flow.source ->
    (Rpmfile.metadata, string) Stdlib.result
end

module Make (S : Rpmfile.Selector.S) : S = struct
  let of_flow ?(initial_size = 3_000) ~max_size flow =
    let buf = Eio.Buf_read.of_flow flow ~initial_size ~max_size in
    let parser =
      Parsers.metadata_parser ~select_signature_tag:S.select_signature_tag
        ~select_header_tag:S.select_header_tag
    in

    Eio.Buf_read.format_errors parser buf
    |> Result.map_error (function `Msg m -> m)
end
OCaml

Innovation. Community. Security.