Add support for eml (rfc822 email) files

This commit is contained in:
Eike Kettner
2020-03-19 22:42:40 +01:00
parent 4ed7a137f7
commit 6b1156182c
4 changed files with 142 additions and 25 deletions

View File

@ -0,0 +1,24 @@
package docspell.common
import fs2.Stream
final case class Binary[F[_]](name: String, mime: MimeType, data: Stream[F, Byte]) {
def withMime(mime: MimeType): Binary[F] =
copy(mime = mime)
}
object Binary {
def apply[F[_]](name: String, data: Stream[F, Byte]): Binary[F] =
Binary[F](name, MimeType.octetStream, data)
def utf8[F[_]](name: String, content: String): Binary[F] =
Binary[F](name, MimeType.octetStream, Stream.emit(content).through(fs2.text.utf8Encode))
def text[F[_]](name: String, content: String): Binary[F] =
utf8(name, content).withMime(MimeType.plain)
def html[F[_]](name: String, content: String): Binary[F] =
utf8(name, content).withMime(MimeType.html)
}