io.finch

response

package response

This package enables a reasonable approach of building HTTP responses using the ResponseBuilder abstraction. The ResponseBuilder provides an immutable way of building concrete Response instances by specifying their status, headers and cookies. There are plenty of predefined builders named by HTTP statuses, i.e., Ok, Created, NotFound. Thus, the typical use case of the ResponseBuilder abstraction involves usage of concrete builder instead of abstract ResponseBuilder itself.

val ok: Response = Ok("Hello, World!")

In addition to text/plain responses, the ResponseBuilder is able to build any response, whose content-type is specified by an implicit type-class EncodeResponse instance. In fact, any type A may be passed to a RequestReader if there is a corresponding EncodeRequest[A] instance available in the scope.

implicit val encodeBigInt = EncodeResponse[BigInt]("text/plain") { _.toString }
val ok: Response = Ok(BigInt(100))
Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. response
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. trait EncodeAnyResponse extends AnyRef

    An abstraction that is responsible for encoding the response of a generic type.

  2. trait EncodeResponse[-A] extends AnyRef

    An abstraction that is responsible for encoding the response of type A.

  3. case class ResponseBuilder(status: Status, headers: Map[String, String] = ..., cookies: Seq[Cookie] = ..., contentType: Option[String] = scala.None, charset: Option[String] = scala.None) extends Product with Serializable

    An abstraction that is responsible for building HTTP responses.

Value Members

  1. object Accepted extends ResponseBuilder

  2. object BadGateway extends ResponseBuilder

  3. object BadRequest extends ResponseBuilder

  4. object Conflict extends ResponseBuilder

  5. object Continue extends ResponseBuilder

  6. object Created extends ResponseBuilder

  7. object EncodeResponse

  8. object ExpectationFailed extends ResponseBuilder

  9. object FailedDependency extends ResponseBuilder

  10. object Forbidden extends ResponseBuilder

  11. object Found extends ResponseBuilder

  12. object GatewayTimeout extends ResponseBuilder

  13. object Gone extends ResponseBuilder

  14. object HttpVersionNotSupported extends ResponseBuilder

  15. object InsufficientStorage extends ResponseBuilder

  16. object InternalServerError extends ResponseBuilder

  17. object LengthRequired extends ResponseBuilder

  18. object Locked extends ResponseBuilder

  19. object MethodNotAllowed extends ResponseBuilder

  20. object MovedPermanently extends ResponseBuilder

  21. object MultiStatus extends ResponseBuilder

  22. object MultipleChoices extends ResponseBuilder

  23. object NoContent extends ResponseBuilder

  24. object NonAuthoritativeInformation extends ResponseBuilder

  25. object NotAcceptable extends ResponseBuilder

  26. object NotExtended extends ResponseBuilder

  27. object NotFound extends ResponseBuilder

  28. object NotImplemented extends ResponseBuilder

  29. object NotModified extends ResponseBuilder

  30. object Ok extends ResponseBuilder

  31. object PartialContent extends ResponseBuilder

  32. object PaymentRequired extends ResponseBuilder

  33. object PreconditionFailed extends ResponseBuilder

  34. object PreconditionRequired extends ResponseBuilder

  35. object Processing extends ResponseBuilder

  36. object ProxyAuthenticationRequired extends ResponseBuilder

  37. object RequestEntityTooLarge extends ResponseBuilder

  38. object RequestTimeOut extends ResponseBuilder

  39. object RequestUriTooLong extends ResponseBuilder

  40. object RequestedRangeNotSatisfiable extends ResponseBuilder

  41. object ResetContent extends ResponseBuilder

  42. object SeeOther extends ResponseBuilder

  43. object ServiceUnavailable extends ResponseBuilder

  44. object TemporaryRedirect extends ResponseBuilder

  45. object TooManyRequests extends ResponseBuilder

  46. object Unauthorized extends ResponseBuilder

  47. object UnorderedCollection extends ResponseBuilder

  48. object UnprocessableEntity extends ResponseBuilder

  49. object UnsupportedMediaType extends ResponseBuilder

  50. object UpgradeRequired extends ResponseBuilder

  51. object UseProxy extends ResponseBuilder

  52. object VariantAlsoNegotiates extends ResponseBuilder

Deprecated Value Members

  1. object Redirect

    A factory for Redirecting to other URLs.

Inherited from AnyRef

Inherited from Any

Ungrouped