Reading a request
The head is parsed in place and the request is filled with slices into it: method, target, path, query, headers with their names lower-cased. The body stays on the wire until asked for. ioxd_body_all keeps it in the reader, so it must fit the 16 KB; ioxd_body_read_until copies it out in pieces of any size, decoding chunked framing on the way; a body the handler never read is drained after it, up to a limit, past which the connection closes instead.
Reading a request
The head is parsed in place and the request is filled with slices into it: method, target, path, query, headers with their names lower-cased. The body stays on the wire until asked for. ioxd_body_all keeps it in the reader, so it must fit the 16 KB; ioxd_body_read_until copies it out in pieces of any size, decoding chunked framing on the way; a body the handler never read is drained after it, up to a limit, past which the connection closes instead.