mirror of
https://github.com/apache/arrow.git
synced 2026-10-28 16:47:19 +08:00
This is likely not fully compatible with Java yet (I'm aware of one edge case where gRPC-Java does something different than gRPC-C++) - will address in a follow up with integration testing ([ARROW-5875](https://issues.apache.org/jira/browse/ARROW-5875)). Compared to the Java implementation, this one can make guarantees about which thread things are run on (so you can and must use thread-locals to communicate with application code from middleware). This uses the experimental gRPC interceptor interface to implement client middleware. Travis build: https://travis-ci.com/lihalite/arrow/builds/129755428 AppVeyor build: https://ci.appveyor.com/project/lihalite/arrow/builds/27777244 Closes #5552 from lihalite/flight-middleware-cpp and squashes the following commits:03921d455<David Li> Fix warnings/tests69505a8db<David Li> Update middleware example564783797<David Li> Require headers to be ASCIIe47d1709f<David Li> Don't rely on thread locals for server middlewaref6d314bd1<David Li> Remove unnecessary filesd036c74d5<David Li> Get rid of header iterator7716ade3b<David Li> Address review feedback99cf60f19<David Li> Fix Flight tests on Windows362341ef2<David Li> Fix lints65459ad97<David Li> Add middleware to Flight docs0be4009db<David Li> Fix Python TLS test9e23952b9<David Li> Fix Python middlewarea1d9b5da7<David Li> Add example of Flight/Python middleware260deb84b<David Li> Rework C++ client middleware to require infallability530e6fcc8<David Li> Rework C++ middleware to require infalliability53646bc6c<David Li> ARROW-6074: Flight middleware Authored-by: David Li <li.davidm96@gmail.com> Signed-off-by: Wes McKinney <wesm+git@apache.org>