# `Oasis.CacheRawBodyReader`
[🔗](https://github.com/xinz/oasis/blob/main/lib/oasis.ex#L73)

A `Plug.Parsers` body reader that preserves the raw request body.

Oasis uses the cached bytes to distinguish Plug's `_json` wrapper for a
primitive JSON root from a literal JSON object whose property is named
`_json`. Generated routers configure this reader automatically. Handwritten
pipelines that validate primitive JSON request bodies should pass
`{Oasis.CacheRawBodyReader, :read_body, []}` as `Plug.Parsers`'s
`:body_reader` option.

# `read_body`

---

*Consult [api-reference.md](api-reference.md) for complete listing*
