http2-wrapper
http2-wrapper copied to clipboard
Support sending request trailers
ClientRequest doesn't include the addTrailers method so trailers cannot be added to outgoing requests.
This takes a little thought, since the H1 API allows adding trailers at effectively any time until the response is closed, while the H2 API requires:
- Setting
waitForTrailers: truewhen creating the initial request - this disables stream auto-closing after the body is sent - Waiting for the
wantTrailersevent - Calling
sendTrailers- this appends the trailers and closes the stream
I think the best solution is to always set wantTrailers: true and then manually call stream.close() every time that addTrailers hasn't been called before the body ends (assuming nothing else has closed the stream and there's no errors etc). I think that should result in more or less the same behaviour as H1.