Hi,
I'm working on an application where we want to be able to set
transport-level headers whenever an Avro RPC is invoked.

Presently, the Avro Java implementation has no distinction between
transports that support these types of protocols and normal protocols.

I'd like to toss around the idea of creating a new abstract server and
transceiver class. They would include methods that you could use to
guard method invocations (or return statements) to set headers in the
transport.

While this on some level defeats some of a purpose of Avro
(abstracting the underlying transport), I think it also provides a lot
of flexibility for a common scenario. There's a number of protocols
that can be used as transports where headers may be used for multiple
application level tasks (in the case I have in mind, the header can be
used for authorization and security labels). It seems very relevant to
provide a mechanism for setting headers that is consistent across
protocols.

Has anyone put any thought into this? Does anyone have feedback on
this design concept?

Reply via email to