import { Body } from "https://deno.land/x/oak@v14.1.1/body.ts";
An object which encapsulates information around a request body.
Constructors
Properties
Is true
if the request might have a body, otherwise false
.
WARNING this is an unreliable API. In HTTP/2 in many situations you cannot determine if a request has a body or not unless you attempt to read the body, due to the streaming nature of HTTP/2. As of Deno 1.16.1, for HTTP/1.1, Deno also reflects that behavior. The only reliable way to determine if a request has a body or not is to attempt to read the body.
Exposes the "raw" ReadableStream
of the body.
Methods
Reads a body to the end and resolves with the value as an
ArrayBuffer
Reads a body as a URL encoded form, resolving the value as
URLSearchParams
.
Reads a body to the end attempting to parse the body as a set of
FormData
.
Reads a body to the end attempting to parse the body as a JSON value.
If a JSON reviver has been assigned, it will be used to parse the body.
Reads the body to the end resolving with a string.
Attempts to determine what type of the body is to help determine how best
to attempt to decode the body. This performs analysis on the supplied
Content-Type
header of the request.
Note these are not authoritative and should only be used as guidance.
There is the ability to provide custom types when attempting to discern
the type. Custom types are provided in the format of an object where the
key is on of BodyType
and the value is an array of media types
to attempt to match. Values supplied will be additive to known media types.
The returned value is one of the following:
"binary"
- The body appears to be binary data and should be consumed as an array buffer, readable stream or blob."form"
- The value appears to be an URL encoded form and should be consumed as a form (URLSearchParams
)."form-data"
- The value appears to be multipart form data and should be consumed as form data."json"
- The value appears to be JSON data and should be consumed as decoded JSON."text"
- The value appears to be text data and should be consumed as text."unknown"
- Either there is no body or the body type could not be determined.