org.http4s.multipart

This package is the start of a multipart implementation for http4s. It is still deficient in a few ways:

  • All encoding is chunked transfers, except for entities small enough to fit into the blaze buffer. This irritates some server implementations.

  • When decoding, chunks are kept in memory. Large ones should be buffered to a temp file.

  • It's a bit handwavy around character sets. Things probably go horribly wrong if you're not UTF-8.

  • This module is lightly tested, and its API should be considered experimental.

Enter this package at your own risk, but we'd love the feedback.

Type members

Classlikes

final case class Boundary(value: String) extends AnyVal
Companion:
object
object Boundary
Companion:
class
final case class Multipart[F[_]](parts: Vector[Part[F]], boundary: Boundary)

A low-level multipart-parsing pipe. Most end users will prefer EntityDecoder[Multipart].

A low-level multipart-parsing pipe. Most end users will prefer EntityDecoder[Multipart].

final case class Part[F[_]](headers: Headers, body: Stream[F, Byte]) extends Media[F]
Companion:
object
object Part
Companion:
class