tree f0126b2b6ae7fbe362b673690bc3a3d2acc054c3
parent 74d6d9d3d6400d1672f48b4acf5bc7d1260ad96d
author Yuxuan 'fishy' Wang <yuxuan.wang@reddit.com> 1566199102 -0700
committer Duru Can Celasun <dcelasun@apache.org> 1566199102 +0100

THRIFT-4914: Send context THeaders for client writes

Client: go

This is the second part of THRIFT-4914, which handles the client writing
part in the requests (client -> server direction).

In TStandardClient, when the context has write headers set, and the
protocol is THeaderProtocol, automatically extract all headers from the
context object and set to THeaderProtocol to send over the wire.

Client code can set headers into the context object by using the helper
functions in header_context.go.

Note that we have separated keys for read and write header key list, so
that for code that's both a server and a client (example: a server that
calls other upstream thrift servers), they don't automatically forward
all headers to their upstream servers, and need to explicitly set which
headers to forward.

In order to make auto forwarding easier, also add SetForwardHeaders
function to TSimpleServer, which will help the users to auto forward
selected headers.

This closes #1845.