Packages

  • package root
    Definition Classes
    root
  • package org
    Definition Classes
    root
  • package http4s
    Definition Classes
    org
  • package multipart

    This package is the start of a multipart implementation for http4s.

    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.

    Definition Classes
    http4s
  • Boundary
  • Multipart
  • MultipartParser
  • Part
o

org.http4s.multipart

MultipartParser

object MultipartParser

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

Source
MultipartParser.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. MultipartParser
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. final case class Out[+A](a: A, tail: Option[ByteVector] = None) extends Product with Serializable

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. val StartLineBytesN: (Boundary) ⇒ Array[Byte]
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  9. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  10. def generateHeaders(byteVector: ByteVector)(acc: Headers): Headers
    Annotations
    @tailrec()
  11. def generatePart(byteVector: ByteVector): (Headers, ByteVector)
  12. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  13. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  14. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  15. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  16. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  17. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  18. def parseStreamed[F[_]](boundary: Boundary, limit: Int = 1024)(implicit arg0: Sync[F]): Pipe[F, Byte, Multipart[F]]
  19. def parseStreamedFile[F[_]](boundary: Boundary, limit: Int = 1024, maxSizeBeforeWrite: Int = 52428800, maxParts: Int = 20, failOnLimit: Boolean = false)(implicit arg0: Sync[F]): Pipe[F, Byte, Multipart[F]]

    Same as the other streamed parsing, except after a particular size, it buffers on a File.

  20. def parseToParts[F[_]](byteVector: ByteVector)(boundary: Boundary)(implicit F: Sync[F]): F[ByteVector]

    parseToParts - Removes Prelude and Trailer

    parseToParts - Removes Prelude and Trailer

    splitParts - Splits Into Parts splitPart - Takes a Single Part of the Front generatePart - Generates a tuple of Headers and a ByteVector of the Body, effectively a Part

    generateHeaders - Generate Headers from ByteVector splitHeader - Splits a Header into the Name and Value

  21. def parseToPartsStream[F[_]](boundary: Boundary, limit: Int = 1024)(implicit arg0: Sync[F]): Pipe[F, Byte, Part[F]]
  22. def parseToPartsStreamedFile[F[_]](boundary: Boundary, limit: Int = 1024, maxSizeBeforeWrite: Int = 52428800, maxParts: Int = 20, failOnLimit: Boolean = false)(implicit arg0: Sync[F]): Pipe[F, Byte, Part[F]]
  23. def splitHeader(byteVector: ByteVector): Option[(ByteVector, ByteVector)]
  24. def splitPart(byteVector: ByteVector)(boundary: Boundary): Option[(ByteVector, ByteVector)]
  25. def splitParts(byteVector: ByteVector)(boundary: Boundary)(acc: List[Either[Headers, ByteVector]]): List[Either[Headers, ByteVector]]
    Annotations
    @tailrec()
  26. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  27. def toString(): String
    Definition Classes
    AnyRef → Any
  28. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  29. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  30. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )

Deprecated Value Members

  1. def parse[F[_]](boundary: Boundary)(implicit arg0: Sync[F]): Pipe[F, Byte, Either[Headers, ByteVector]]
    Annotations
    @deprecated
    Deprecated

    (Since version 0.18.12) This parser buffers the entire contents to memory. Consider using the streaming alternatives

Inherited from AnyRef

Inherited from Any

Ungrouped