trait Body extends AnyRef
Represents the body of a request or response. The body can be a fixed chunk of bytes, a stream of bytes, or form data, or any type that can be encoded into such representations (such as textual data using some character encoding, the contents of files, JSON, etc.).
- Self Type
- Body
- Alphabetic
- By Inheritance
- Body
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def asArray(implicit trace: Trace): Task[Array[Byte]]
Returns an effect that decodes the content of the body as array of bytes.
Returns an effect that decodes the content of the body as array of bytes. Note that attempting to decode a large stream of bytes into an array could result in an out of memory error.
- abstract def asChunk(implicit trace: Trace): Task[Chunk[Byte]]
Returns an effect that decodes the content of the body as a chunk of bytes.
Returns an effect that decodes the content of the body as a chunk of bytes. Note that attempting to decode a large stream of bytes into a chunk could result in an out of memory error.
- abstract def asStream(implicit trace: Trace): ZStream[Any, Throwable, Byte]
Returns a stream that contains the bytes of the body.
Returns a stream that contains the bytes of the body. This method is safe to use with large bodies, because the elements of the returned stream are lazily produced from the body.
- abstract def contentType(newMediaType: MediaType, newBoundary: Boundary): Body
- abstract def contentType(newMediaType: MediaType): Body
Updates the media type attached to this body, returning a new Body with the updated media type
- abstract def isComplete: Boolean
Returns whether or not the bytes of the body have been fully read.
- abstract def isEmpty: Boolean
Returns whether or not the body is known to be empty.
Returns whether or not the body is known to be empty. Note that some bodies may not be known to be empty until an attempt is made to consume them.
- abstract def knownContentLength: Option[Long]
Returns whether or not the content length is known
- abstract def mediaType: Option[MediaType]
Returns the media type for this Body
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- def ++(that: Body): Body
A right-biased way of combining two bodies.
A right-biased way of combining two bodies. If either body is empty, the other will be returned. Otherwise, the right body will be returned.
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def asMultipartForm(implicit trace: Trace): Task[Form]
Returns an effect that decodes the content of the body as a multipart form.
Returns an effect that decodes the content of the body as a multipart form. Note that attempting to decode a large stream of bytes into a form could result in an out of memory error.
- def asMultipartFormStream(implicit trace: Trace): Task[StreamingForm]
Returns an effect that decodes the streaming body as a multipart form.
Returns an effect that decodes the streaming body as a multipart form.
The result is a stream of FormField objects, where each FormField may be a StreamingBinary or a Text object. The StreamingBinary object contains a stream of bytes, which has to be consumed asynchronously by the user to get the next FormField from the stream.
- final def asString(charset: Charset)(implicit trace: Trace): Task[String]
Decodes the content of the body as a string with the provided charset.
Decodes the content of the body as a string with the provided charset. Note that attempting to decode a large stream of bytes into a string could result in an out of memory error.
- final def asString(implicit trace: Trace): Task[String]
Decodes the content of the body as a string with the default charset.
Decodes the content of the body as a string with the default charset. Note that attempting to decode a large stream of bytes into a string could result in an out of memory error.
- def asURLEncodedForm(implicit trace: Trace): Task[Form]
Returns an effect that decodes the content of the body as form data.
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def to[A](implicit codec: BinaryCodec[A], trace: Trace): Task[A]
Decodes the content of the body as a value based on a zio-schema zio.schema.codec.BinaryCodec.
Decodes the content of the body as a value based on a zio-schema zio.schema.codec.BinaryCodec.
Example for json:
import zio.schema.json.codec._ case class Person(name: String, age: Int) implicit val schema: Schema[Person] = DeriveSchema.gen[Person] val person = Person("John", 42) val body = Body.from(person) val decodedPerson = body.to[Person]
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])