Packages

  • package root

    This is the API documentation for finch

    This is the API documentation for finch

    Finch is a thin layer of purely functional basic blocks atop of [Finagle][finagle] for building composable HTTP APIs. Its mission is to provide the developers simple and robust HTTP primitives being as close as possible to the bare metal Finagle API.

    Finch uses multi-project structure and contains of the following _modules_:

    • core - the core classes/functions
    • argonaut - the JSON API support for the [Argonaut][argonaut] library
    • jackson - the JSON API support for the [Jackson][jackson] library
    • json4s - the JSON API support for the [JSON4S][json4s] library
    • circe - the JSON API support for the [Circe][circe] library
    • playjson - The JSON API support for the [PlayJson][playjson] library
    • sprayjson - The JSON API support for the [SprayJson][sprayjson] library
    • test - the test support classes/functions
    • oauth2 - the OAuth2 support backed by the [finagle-oauth2][finagle-oauth2] library
    • see - SSE ([Server Sent Events][server-sent-events]) support in Finch

    Please refer to the documentation for a more detailed introduction to the library.

    Definition Classes
    root
  • package io
    Definition Classes
    root
  • package finch

    This is a root package of the Finch library, which provides an immutable layer of functions and types atop of Finagle for writing lightweight HTTP services.

    This is a root package of the Finch library, which provides an immutable layer of functions and types atop of Finagle for writing lightweight HTTP services.

    Definition Classes
    io
  • package argonaut
    Definition Classes
    finch
  • package circe
    Definition Classes
    finch
  • package div
    Definition Classes
    finch
  • package generic
    Definition Classes
    finch
  • package internal

    This package contains an internal-use only type-classes and utilities that power Finch's API.

    This package contains an internal-use only type-classes and utilities that power Finch's API.

    It's not recommended to use any of the internal API directly, since it might change without any deprecation cycles.

    Definition Classes
    finch
  • package iteratee

    Iteratee module

    Iteratee module

    Definition Classes
    finch
  • Enumerate
  • EnumerateInstances
  • IsPrime
  • LiftToIterateePartiallyApplied
  • M
  • Main
  • Number
  • PerformPartiallyApplied
  • Result
  • syntax
  • package refined
    Definition Classes
    finch
  • package sse
    Definition Classes
    finch
  • package streaming
    Definition Classes
    finch
  • package syntax

    Enables Sinatra-like syntax extensions for endpoints.

    Enables Sinatra-like syntax extensions for endpoints.

    Definition Classes
    finch
  • package test
    Definition Classes
    finch
  • package todo
    Definition Classes
    finch
  • package wrk
    Definition Classes
    finch
p

io.finch

iteratee

package iteratee

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. iteratee
  2. IterateeInstances
  3. LowPriorityInstances
  4. FutureModule
  5. NonSuspendableFileModule
  6. FileModule
  7. IterateeErrorModule
  8. IterateeModule
  9. EnumeratorErrorModule
  10. EnumeratorModule
  11. EnumerateeModule
  12. Module
  13. AnyRef
  14. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. trait Enumerate[A] extends AnyRef

    Enumerate HTTP streamed payload represented as Enumerator (encoded with Charset) into an Enumerator of arbitrary type A.

  2. trait EnumerateInstances extends AnyRef
  3. case class IsPrime(isPrime: Boolean) extends Product with Serializable
  4. sealed class LiftToIterateePartiallyApplied[E] extends AnyRef
    Definition Classes
    IterateeModule
  5. abstract type M[f[_]] <: Monad[f[_]]
    Definition Classes
    Module
  6. case class Number(i: Int) extends Product with Serializable
  7. sealed class PerformPartiallyApplied[E] extends AnyRef
    Definition Classes
    EnumeratorModule
  8. case class Result(result: Int) extends Product with Serializable

Abstract Value Members

  1. abstract def F: iteratee.M[Future]
    Attributes
    protected
    Definition Classes
    Module
  2. abstract def listFiles(dir: File): Enumerator[Future, File]
    Definition Classes
    FileModule
  3. abstract def listFilesRec(dir: File): Enumerator[Future, File]
    Definition Classes
    FileModule
  4. abstract def readBytes(file: File): Enumerator[Future, Array[Byte]]
    Definition Classes
    FileModule
  5. abstract def readBytesFromStream(stream: InputStream): Enumerator[Future, Array[Byte]]
    Definition Classes
    FileModule
  6. abstract def readLines(file: File): Enumerator[Future, String]
    Definition Classes
    FileModule
  7. abstract def readLinesFromStream(stream: InputStream): Enumerator[Future, String]
    Definition Classes
    FileModule
  8. abstract def readZipStreams(file: File): Enumerator[Future, (ZipEntry, InputStream)]
    Definition Classes
    FileModule
  9. abstract def writeBytes(file: File): Iteratee[Future, Array[Byte], Unit]
    Definition Classes
    FileModule
  10. abstract def writeBytesToStream(stream: OutputStream): Iteratee[Future, Array[Byte], Unit]
    Definition Classes
    FileModule
  11. abstract def writeLines(file: File): Iteratee[Future, String, Unit]
    Definition Classes
    FileModule
  12. abstract def writeLinesToStream(stream: OutputStream): Iteratee[Future, String, Unit]
    Definition Classes
    FileModule

Concrete Value Members

  1. final def bracket[R <: Closeable, A](fr: Future[R])(f: (R) ⇒ Future[A])(implicit F: MonadError[Future, Throwable]): Future[A]
    Attributes
    protected
    Definition Classes
    FileModule
  2. final def collect[O, I](pf: PartialFunction[O, I]): Enumeratee[Future, O, I]
    Definition Classes
    EnumerateeModule
  3. final def consume[E]: Iteratee[Future, E, Vector[E]]
    Definition Classes
    IterateeModule
  4. final def consumeIn[E, C[_]](implicit C: Applicative[C], M: MonoidK[C]): Iteratee[Future, E, C[E]]
    Definition Classes
    IterateeModule
  5. final def cont[E, A](ifInput: (NonEmptyList[E]) ⇒ Iteratee[Future, E, A], ifEnd: Future[A]): Iteratee[Future, E, A]
    Definition Classes
    IterateeModule
  6. final def cross[E1, E2](e2: Enumerator[Future, E2]): Enumeratee[Future, E1, (E1, E2)]
    Definition Classes
    EnumerateeModule
  7. final def done[E, A](value: A): Iteratee[Future, E, A]
    Definition Classes
    IterateeModule
  8. final def drop[E](n: Long): Enumeratee[Future, E, E]
    Definition Classes
    EnumerateeModule
  9. final def dropI[E](n: Int): Iteratee[Future, E, Unit]
    Definition Classes
    IterateeModule
  10. final def dropWhile[E](p: (E) ⇒ Boolean): Enumeratee[Future, E, E]
    Definition Classes
    EnumerateeModule
  11. final def dropWhileI[E](p: (E) ⇒ Boolean): Iteratee[Future, E, Unit]
    Definition Classes
    IterateeModule
  12. final def dropWhileM[E](p: (E) ⇒ Future[Boolean]): Enumeratee[Future, E, E]
    Definition Classes
    EnumerateeModule
  13. final def empty[E]: Enumerator[Future, E]
    Definition Classes
    EnumeratorModule
  14. final def enumEither[E](either: Either[Throwable, E]): Enumerator[Future, E]
    Definition Classes
    EnumeratorErrorModule
  15. final def enumIndexedSeq[E](es: IndexedSeq[E], min: Int, max: Int): Enumerator[Future, E]
    Definition Classes
    EnumeratorModule
  16. final def enumIterable[E](es: Iterable[E], chunkSize: Int): Enumerator[Future, E]
    Definition Classes
    EnumeratorModule
  17. final def enumList[E](es: List[E]): Enumerator[Future, E]
    Definition Classes
    EnumeratorModule
  18. final def enumOne[E](e: E): Enumerator[Future, E]
    Definition Classes
    EnumeratorModule
  19. final def enumStream[E](es: Stream[E], chunkSize: Int): Enumerator[Future, E]
    Definition Classes
    EnumeratorModule
  20. final def enumVector[E](es: Vector[E]): Enumerator[Future, E]
    Definition Classes
    EnumeratorModule
  21. final def enumerate[E](xs: E*): Enumerator[Future, E]
    Definition Classes
    EnumeratorModule
  22. def enumeratorBody[A, CT <: String](implicit decode: Aux[A, CT]): Endpoint[Enumerator[Future, A]]

    An evaluating Endpoint that reads a required chunked streaming binary body, interpreted as an Enumerator[Future, A].

    An evaluating Endpoint that reads a required chunked streaming binary body, interpreted as an Enumerator[Future, A]. The returned Endpoint only matches chunked (streamed) requests.

  23. def enumeratorJsonBody[A](implicit ad: Aux[A, Json]): Endpoint[Enumerator[Future, A]]

    An evaluating Endpoint that reads a required chunked streaming JSON body, interpreted as an Enumerator[Future, A].

    An evaluating Endpoint that reads a required chunked streaming JSON body, interpreted as an Enumerator[Future, A]. The returned Endpoint only matches chunked (streamed) requests.

  24. implicit def enumeratorToJsonResponse[A](implicit e: Encode.Aux[A, Json], w: Aux[Json]): ToResponse.Aux[Enumerator[Future, A], Json]
    Definition Classes
    IterateeInstances
  25. implicit def enumeratorToResponse[A, CT <: String](implicit e: Encode.Aux[A, CT], w: Aux[CT]): ToResponse.Aux[Enumerator[Future, A], CT]
    Definition Classes
    LowPriorityInstances
  26. final def failEnumerator[E](t: Throwable): Enumerator[Future, E]
    Definition Classes
    EnumeratorErrorModule
  27. final def failIteratee[E, A](t: Throwable): Iteratee[Future, E, A]
    Definition Classes
    IterateeErrorModule
  28. final def filter[E](p: (E) ⇒ Boolean): Enumeratee[Future, E, E]
    Definition Classes
    EnumerateeModule
  29. final def filterM[E](p: (E) ⇒ Future[Boolean]): Enumeratee[Future, E, E]
    Definition Classes
    EnumerateeModule
  30. final def flatMap[O, I](f: (O) ⇒ Enumerator[Future, I]): Enumeratee[Future, O, I]
    Definition Classes
    EnumerateeModule
  31. final def flatMapM[O, I](f: (O) ⇒ Future[I]): Enumeratee[Future, O, I]
    Definition Classes
    EnumerateeModule
  32. final def fold[E, A](init: A)(f: (A, E) ⇒ A): Iteratee[Future, E, A]
    Definition Classes
    IterateeModule
  33. final def foldM[E, A](init: A)(f: (A, E) ⇒ Future[A]): Iteratee[Future, E, A]
    Definition Classes
    IterateeModule
  34. final def foldMap[E, A](f: (E) ⇒ A)(implicit A: Monoid[A]): Iteratee[Future, E, A]
    Definition Classes
    IterateeModule
  35. final def foldMapM[E, A](f: (E) ⇒ Future[A])(implicit A: Monoid[A]): Iteratee[Future, E, A]
    Definition Classes
    IterateeModule
  36. final def foldMapMOption[E, A](f: (E) ⇒ Future[A])(implicit A: Semigroup[A]): Iteratee[Future, E, Option[A]]
    Definition Classes
    IterateeModule
  37. final def foldMapOption[E, A](f: (E) ⇒ A)(implicit A: Semigroup[A]): Iteratee[Future, E, Option[A]]
    Definition Classes
    IterateeModule
  38. final def foreach[E](f: (E) ⇒ Unit): Iteratee[Future, E, Unit]
    Definition Classes
    IterateeModule
  39. final def foreachM[A](f: (A) ⇒ Future[Unit]): Iteratee[Future, A, Unit]
    Definition Classes
    IterateeModule
  40. final def generateM[E](f: Future[Option[E]]): Enumerator[Future, E]
    Definition Classes
    EnumeratorModule
  41. final def grouped[E](n: Int): Enumeratee[Future, E, Vector[E]]
    Definition Classes
    EnumerateeModule
  42. final def head[E]: Iteratee[Future, E, Option[E]]
    Definition Classes
    IterateeModule
  43. final def identityIteratee[E]: Iteratee[Future, E, Unit]
    Definition Classes
    IterateeModule
  44. final def injectValue[E](e: E): Enumeratee[Future, E, E]
    Definition Classes
    EnumerateeModule
  45. final def injectValues[E](es: Seq[E]): Enumeratee[Future, E, E]
    Definition Classes
    EnumerateeModule
  46. final def intersperse[E](delim: E): Enumeratee[Future, E, E]
    Definition Classes
    EnumerateeModule
  47. final def isEnd[E]: Iteratee[Future, E, Boolean]
    Definition Classes
    IterateeModule
  48. final def iterate[E](init: E)(f: (E) ⇒ E): Enumerator[Future, E]
    Definition Classes
    EnumeratorModule
  49. final def iterateM[E](init: E)(f: (E) ⇒ Future[E]): Enumerator[Future, E]
    Definition Classes
    EnumeratorModule
  50. final def iterateUntil[E](init: E)(f: (E) ⇒ Option[E]): Enumerator[Future, E]
    Definition Classes
    EnumeratorModule
  51. final def iterateUntilM[E](init: E)(f: (E) ⇒ Future[Option[E]]): Enumerator[Future, E]
    Definition Classes
    EnumeratorModule
  52. final def last[E]: Iteratee[Future, E, Option[E]]
    Definition Classes
    IterateeModule
  53. final def length[E]: Iteratee[Future, E, Long]
    Definition Classes
    IterateeModule
  54. final def liftToEnumerator[E](fe: Future[E]): Enumerator[Future, E]
    Definition Classes
    EnumeratorModule
  55. final def liftToIteratee[E]: LiftToIterateePartiallyApplied[E]
    Definition Classes
    IterateeModule
  56. final def map[O, I](f: (O) ⇒ I): Enumeratee[Future, O, I]
    Definition Classes
    EnumerateeModule
  57. final def peek[E]: Iteratee[Future, E, Option[E]]
    Definition Classes
    IterateeModule
  58. final def perform[E]: PerformPartiallyApplied[E]
    Definition Classes
    EnumeratorModule
  59. final def remainderWithResult[O, R, I](iteratee: Iteratee[Future, O, R])(f: (R, O) ⇒ I): Enumeratee[Future, O, I]
    Definition Classes
    EnumerateeModule
  60. final def remainderWithResultM[O, R, I](iteratee: Iteratee[Future, O, R])(f: (R, O) ⇒ Future[I]): Enumeratee[Future, O, I]
    Definition Classes
    EnumerateeModule
  61. final def repeat[E](e: E): Enumerator[Future, E]
    Definition Classes
    EnumeratorModule
  62. final def reversed[E]: Iteratee[Future, E, List[E]]
    Definition Classes
    IterateeModule
  63. final def scan[O, I](init: I)(f: (I, O) ⇒ I): Enumeratee[Future, O, I]
    Definition Classes
    EnumerateeModule
  64. final def scanM[O, I](init: I)(f: (I, O) ⇒ Future[I]): Enumeratee[Future, O, I]
    Definition Classes
    EnumerateeModule
  65. final def sequenceI[O, I](iteratee: Iteratee[Future, O, I]): Enumeratee[Future, O, I]
    Definition Classes
    EnumerateeModule
  66. final def splitOn[E](p: (E) ⇒ Boolean): Enumeratee[Future, E, Vector[E]]
    Definition Classes
    EnumerateeModule
  67. final def sum[E](implicit E: Monoid[E]): Iteratee[Future, E, E]
    Definition Classes
    IterateeModule
  68. final def take[E](n: Long): Enumeratee[Future, E, E]
    Definition Classes
    EnumerateeModule
  69. final def takeI[E](n: Int): Iteratee[Future, E, Vector[E]]
    Definition Classes
    IterateeModule
  70. final def takeWhile[E](p: (E) ⇒ Boolean): Enumeratee[Future, E, E]
    Definition Classes
    EnumerateeModule
  71. final def takeWhileI[E](p: (E) ⇒ Boolean): Iteratee[Future, E, Vector[E]]
    Definition Classes
    IterateeModule
  72. final def takeWhileM[E](p: (E) ⇒ Future[Boolean]): Enumeratee[Future, E, E]
    Definition Classes
    EnumerateeModule
  73. final def uniq[E](implicit E: Eq[E]): Enumeratee[Future, E, E]
    Definition Classes
    EnumerateeModule
  74. def withCustomIteratee[A, CT <: String](iteratee: (Writer) ⇒ Iteratee[Future, Buf, Unit])(implicit e: Encode.Aux[A, CT], w: Aux[CT]): ToResponse.Aux[Enumerator[Future, A], CT]
    Attributes
    protected
    Definition Classes
    LowPriorityInstances
  75. final def zipWithIndex[E]: Enumeratee[Future, E, (E, Long)]
    Definition Classes
    EnumerateeModule
  76. object Enumerate extends EnumerateInstances
  77. object Main

    A Finch application featuring iteratee-based streaming support.

    A Finch application featuring iteratee-based streaming support. This approach is more advanced and performant then basic com.twitter.concurrent.AsyncStream

    There are three endpoints in this example:

    1. sumJson - streaming request 2. streamJson - streaming response 3. isPrime - end-to-end (request - response) streaming

    Use the following sbt command to run the application.

    $ sbt 'examples/runMain io.finch.iteratee.Main'

    Use the following HTTPie/curl commands to test endpoints.

    $ curl -X POST --header "Transfer-Encoding: chunked" -d '{"i": 40} {"i": 2}' localhost:8081/sumJson
    
    $ http --stream GET :8081/streamJson
    
    $ curl -X POST --header "Transfer-Encoding: chunked" -d '{"i": 40} {"i": 42}' localhost:8081/streamPrime
  78. object syntax
    Definition Classes
    Module

Inherited from IterateeInstances

Inherited from LowPriorityInstances

Inherited from FutureModule

Inherited from FileModule[Future]

Inherited from IterateeErrorModule[Future, Throwable]

Inherited from IterateeModule[Future]

Inherited from EnumeratorErrorModule[Future, Throwable]

Inherited from EnumeratorModule[Future]

Inherited from EnumerateeModule[Future]

Inherited from Module[Future]

Inherited from AnyRef

Inherited from Any

Ungrouped