Packages

package http

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

Type Members

  1. final case class API[Input, Output](method: HttpMethod, requestInput: RequestInput[Input], outputSchema: Schema[Output]) extends Product with Serializable

    • Input and Output as Schemas.
    • Dynamically decide response format based upon Request Header
  2. final class APIOps[Input, Output, Id] extends AnyRef
  3. final class APIOpsUnit[Input, Id] extends AnyRef
  4. case class Body[A](schema: Schema[A], contentType: ContentType) extends RequestInput[A] with Product with Serializable
  5. sealed trait ContentType extends AnyRef
  6. sealed trait Header[A] extends RequestInput[A]

    HEADERS

  7. sealed trait HttpFailure extends AnyRef
  8. sealed trait HttpMethod extends Product with Serializable
  9. sealed trait Path[A] extends RequestInput[A]

    A DSL for describe Paths

    A DSL for describe Paths

    • ex: /users
    • ex: /users/:id/friends
    • ex: /users/:id/friends/:friendId
    • ex: /posts/:id/comments/:commentId
  10. final case class PathState(input: List[String]) extends Product with Serializable
  11. sealed trait Query[A] extends RequestInput[A]

    QUERY PARAMS

  12. sealed trait RequestInput[A] extends Product with Serializable

    A RequestInput is a description of a Path, Query Parameters, Headers and Body

    A RequestInput is a description of a Path, Query Parameters, Headers and Body

    • Path: /users/:id/posts
    • Query Parameters: ?page=1&limit=10
    • Headers: X-User-Id: 1 or Accept: application/json
    • Body: anything that has a schema
  13. trait Zipper[A, B] extends AnyRef
  14. trait ZipperLowPriority1 extends ZipperLowPriority2
  15. trait ZipperLowPriority2 extends ZipperLowPriority3
  16. trait ZipperLowPriority3 extends AnyRef

Value Members

  1. implicit def apiToOps[Input, Output](api: API[Input, Output])(implicit arg0: NotUnit[Output]): APIOps[Input, Output, Id]
  2. implicit def apiToOpsUnit[Input](api: API[Input, Unit]): APIOpsUnit[Input, Id]
  3. def bigDecimal(name: String): Query[BigDecimal]
  4. val bigDecimal: Path[BigDecimal]
  5. def bigInteger(name: String): Query[BigInteger]
  6. val bigInteger: Path[BigInteger]
  7. def boolean(name: String): Query[Boolean]
  8. val boolean: Path[Boolean]
  9. def char(name: String): Query[Char]
  10. val char: Path[Char]
  11. def double(name: String): Query[Double]
  12. val double: Path[Double]
  13. def float(name: String): Query[Float]
  14. val float: Path[Float]
  15. def int(name: String): Query[Int]
  16. val int: Path[Int]
  17. def long(name: String): Query[Long]
  18. val long: Path[Long]
  19. def path[A](implicit schema: Schema[A]): Match[A]
  20. def query[A](name: String)(implicit schema: Schema[A]): Query[A]
  21. def short(name: String): Query[Short]
  22. val short: Path[Short]
  23. def string(name: String): Query[String]
  24. val string: Path[String]
  25. implicit def stringToPath(string: String): Path[Unit]
  26. implicit lazy val unitCodec: JsonCodec[Unit]
  27. def uuid(name: String): Query[UUID]
  28. val uuid: Path[UUID]
  29. object API extends Serializable
  30. object Body extends Serializable
  31. object ContentType
  32. object FormUrlEncodedEncoder
  33. object Header extends Serializable
  34. object HttpFailure
  35. object HttpMethod extends Serializable
  36. object Path extends Serializable
  37. object Query extends Serializable
  38. object RequestInput extends Serializable
  39. object Zipper extends ZipperLowPriority1

Inherited from AnyRef

Inherited from Any

Ungrouped