We should support json validation (and whatever other content type we support).
Format validation can be an opt-in feature as it has a direct impact on performance and data integrity can be provided by service meshes.
It should be done without too many allocations and taking into account that a request body might be read into more than 1 pooled buffer. For the pooled buffers, we depend on #63.