Yuxuan Wang created THRIFT-4914:
-----------------------------------
Summary: Go: Link between THeader and context object
Key: THRIFT-4914
URL: https://issues.apache.org/jira/browse/THRIFT-4914
Project: Thrift
Issue Type: New Feature
Components: Go - Library
Reporter: Yuxuan Wang
We have "raw" THeader support for Go in THRIFT-4612 now, the next step would be
to make them more easily accessible.
The are 2 directions, 4 parts of this ticket:
* client -> server (requests)
** Read headers on server
** Write headers on client
* server -> client (responses)
** Write headers on server
** Read headers on client
Take the reading on server as an example. Currently we can read the headers
from either the transport or the protocol, but neither the transport nor the
protocol objects are "easily accessible" when you are writing the business
logic code (writing the request handler in the server code). It would be much
better if we inject the headers into the context object passed into the request
handlers.
We already have code injecting the headers to the context object that lives
outside of the thrift library working. I'll send out a PR in the coming days to
add that to the thrift library, so the performance would be better (we no
longer need to do the extra injecting work), and it would be a lot easier to
use.
We'll think about how to best do the client writing part (probably auto read
the headers from the context object that passed into the client request code,
and write to THeaderProtocol automatically), and send out a PR soon-ish.
The other direction, server -> client, is used much less often with headers, so
we'll probably punt on it for now, and come back revisit them in the future.
--
This message was sent by Atlassian JIRA
(v7.6.14#76016)