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: HttpResponse = Ok("Hello, World!")

In addition to plain/text 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]("plain/text") { _.toString }
val ok: HttpResponse = Ok(BigInt(100))
Linear Supertypes
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] = Map.empty[String, String], cookies: Seq[Cookie] = Seq.empty[Cookie]) extends Product with Serializable

    An abstraction that is responsible for building HTTP responses.

    An abstraction that is responsible for building HTTP responses.

    status

    the HTTP response status

    headers

    the HTTP headers map

    cookies

    the HTTP cookies list

  4. class TurnIntoHttp[A] extends Service[A, HttpResponse]

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

    Convenience method for creating new EncodeResponse instances.

  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 Redirect

    A factory for Redirecting to other URLs.

  38. object RequestEntityTooLarge extends ResponseBuilder

  39. object RequestTimeOut extends ResponseBuilder

  40. object RequestUriTooLong extends ResponseBuilder

  41. object RequestedRangeNotSatisfiable extends ResponseBuilder

  42. object ResetContent extends ResponseBuilder

  43. object SeeOther extends ResponseBuilder

  44. object ServiceUnavailable extends ResponseBuilder

  45. object TemporaryRedirect extends ResponseBuilder

  46. object TooManyRequests extends ResponseBuilder

  47. object TurnIntoHttp

    A service that converts an encoded object into HTTP response with status OK using an implicit EncodeResponse.

  48. object Unauthorized extends ResponseBuilder

  49. object UnorderedCollection extends ResponseBuilder

  50. object UnprocessableEntity extends ResponseBuilder

  51. object UnsupportedMediaType extends ResponseBuilder

  52. object UpgradeRequired extends ResponseBuilder

  53. object UseProxy extends ResponseBuilder

  54. object VariantAlsoNegotiates extends ResponseBuilder

  55. implicit def anyToConcreteEncode[A](implicit e: EncodeAnyResponse): EncodeResponse[A]

    Converts EncodeAnyResponse into EncodeResponse.

  56. implicit val encodeString: EncodeResponse[String]

    Allows to pass raw strings to ResponseBuilder.

Inherited from AnyRef

Inherited from Any

Ungrouped