[HTTP]ParserabstractInternal: the native HTTP/1.1 head parser under [HTTP]Client and [HTTP]Server (use std:net/http) — a thin wrapper over httparse. Programs normally use those classes, not this one.
Parse an HTTP/1.1 *response* head from Bytes: nil while the head is incomplete (read more and retry), else #( status reason headLen headers ) where headers is an order- and duplicate-preserving List of #( name value ) pairs and the body begins at byte headLen. Malformed input throws a ParseError.
[HTTP]Parser.parseHead:'HTTP/1.1 200 OK\r\nContent-Length: 5\r\n\r\nhello'.asBytes "* -> #(200 OK 38 #(#(Content-Length 5)))
Parse an HTTP/1.1 *request* head from Bytes (the server-side mirror of parseHead:): nil while incomplete, else #( method target version headers ) where version is the HTTP/1.x minor (0 or 1) and target is the raw request-target, undecoded.
[HTTP]Parser.parseRequestHead:'GET /x HTTP/1.1\r\nHost: a\r\n\r\n'.asBytes "* -> #(GET /x 1 #(#(Host a)))