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

Concise view

Type members

Classlikes

final case class Boundary(value: String) extends AnyVal

Attributes

Companion:
object
Source:
Boundary.scala
Graph
Supertypes
trait Product
trait Equals
class AnyVal
trait Matchable
class Any
object Boundary

Attributes

Companion:
class
Source:
Boundary.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self 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
Graph
Supertypes
trait Product
trait Equals
class Object
trait Matchable
class Any
object Multipart

Attributes

Companion:
class
Source:
Multipart.scala
Graph
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self 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
Graph
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
Graph
Supertypes
class Object
trait Matchable
class Any
object Multiparts

Attributes

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

Attributes

Companion:
object
Source:
Part.scala
Graph
Supertypes
trait Product
trait Equals
trait Media[F]
class Object
trait Matchable
class Any
object Part

Attributes

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