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: true when creating the initial request - this disables stream auto-closing after the body is sent
Waiting for the wantTrailers event
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.
ClientRequest
doesn't include theaddTrailers
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:
waitForTrailers: true
when creating the initial request - this disables stream auto-closing after the body is sentwantTrailers
eventsendTrailers
- this appends the trailers and closes the streamI think the best solution is to always set
wantTrailers: true
and then manually callstream.close()
every time thataddTrailers
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.