package codecs
- Alphabetic
- By Inheritance
- codecs
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- type BlobDecoder[A] = Decoder[[β$0$]Either[PayloadError, β$0$], Blob, A]
- type BlobEncoder[A] = Encoder[Blob, A]
- trait Decoder[F[_], -In, A] extends AnyRef
An abstraction that codifies the action of reading data from some input.
- trait Encoder[+Out, -A] extends AnyRef
An abstraction that codifies the notion of transforming a piece of data into some output.
- type PayloadDecoder[A] = Decoder[[β$1$]Either[PayloadError, β$1$], Blob, A]
- type PayloadEncoder[A] = Encoder[Blob, A]
- case class PayloadError(path: PayloadPath, expected: String, message: String) extends Throwable with NoStackTrace with Product with Serializable
- case class PayloadPath(segments: List[Segment]) extends Product with Serializable
- trait Writer[Message, -A] extends AnyRef
An abstraction that codifies the notion of modifying a message with some additional information.
An abstraction that codifies the notion of modifying a message with some additional information.
This has two input channels: * one for the message that is being modified (Message) * one for the actual data (A)
This is particularly useful for http requests/responses, where different subsets of data have a different impact on different locations of the http message : some fields may impact headers, some fields may impact the http body, other things that are driven from static information (smithy traits) may lead to a transformation of the message.
Having the ability to decompose the notion of encoding a piece of data into different writers that can be composed together is powerful and helps centralising some complexity in third-party agnostic code.
Value Members
- object BlobDecoder
- object BlobEncoder
- object Decoder
- object Encoder
- object PayloadDecoder
- object PayloadEncoder
- object PayloadError extends Serializable
- object PayloadPath extends Serializable
- object StringAndBlobCodecs
- object Writer