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.

Attributes

Members list

Type members

Classlikes

final case class Boundary(value: String) extends AnyVal

Attributes

Companion
object
Source
Boundary.scala
Supertypes
trait Serializable
trait Product
trait Equals
class AnyVal
trait Matchable
class Any
Show all
object Boundary

Attributes

Companion
class
Source
Boundary.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Boundary.type
final case class Multipart[F[_]](parts: Vector[Part[F]], boundary: Boundary)

Create a new multipart from a vector of parts and a boundary.

Create a new multipart from a vector of parts and a boundary.

To create Multipart values from a generated boundary, see the Multiparts algebra.

Attributes

Companion
object
Source
Multipart.scala
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object Multipart

Attributes

Companion
class
Source
Multipart.scala
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
Multipart.type

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].

Attributes

Source
MultipartParser.scala
Supertypes
class Object
trait Matchable
class Any
Self type
trait Multiparts[F[_]]

An algebra for creating multipart values and boundaries.

An algebra for creating multipart values and boundaries.

A single instance may be shared by the entire application.

Attributes

Companion
object
Source
Multiparts.scala
Supertypes
class Object
trait Matchable
class Any
object Multiparts

Attributes

Companion
trait
Source
Multiparts.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Multiparts.type
final case class Part[F[_]](headers: Headers, body: Stream[F, Byte]) extends Media[F]

Attributes

Companion
object
Source
Part.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait Media[F]
class Object
trait Matchable
class Any
Show all
object Part

Attributes

Companion
class
Source
Part.scala
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
Part.type