Hello all, We're experimenting a bit with Avro and we've got a use case that I'm hoping to get some help with.. we'd like clients to be able to send messages to a server that would then forward the messages to a third-party (still in Avro), but the messaging would be asynchronous.. the trouble we're running into is with the schema handshake since there's someone between the client and the ultimate recipient of the message.. we'd like to avoid having the middle-man open up the body of the HTTP request but we can't negotiate the handshake without it..
Since the transport is abstracted out, would it make any sense at all to push the handshake request into HTTP headers for the HTTP transport? Other transports could still embed the handshake message with the rest of the message, but by pushing the handshake into the headers for HTTP, a proxy like ours could negotiate the handshake without opening up the body.. this could arguably improve performance even in normal request/response scenarios since the body wouldn't have to be parsed twice in cases where the client has to resend the request with a new schema.. If this seems like a reasonable approach, we might be able to put together an prototype implementation with one of the bindings and see if it makes sense to adjust the spec.. Thanks, Saleem.
