This is rudimentary.
The high level idea is:
- Create a new Request object.
- Receive streaming HTTP request data from some external source.
- As the data comes in, call request.update, passing in streamed data.
Eventually all of the data (D) will be fed into request.update(D) then:
- request.body_complete() will return true.
- request.body() will return the body captured based on the content-length header.
https://en.wikipedia.org/wiki/HTTP_persistent_connection
https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/100
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Expect
https://sookocheff.com/post/networking/how-do-websockets-work/