aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/core/end2end
diff options
context:
space:
mode:
authorGravatar Yash Tibrewal <yashkt@google.com>2018-09-04 16:26:14 -0700
committerGravatar Yash Tibrewal <yashkt@google.com>2018-09-04 19:19:01 -0700
commitdd95194a086b81966fd94726c04f53d279e247d8 (patch)
tree1cc3c23398230a9a6fdc44fda05540965f331ea1 /test/core/end2end
parenta1f5c0942d1656ac16f7f385989c402d3b4074a0 (diff)
Prefer grpc status over http status
test
Diffstat (limited to 'test/core/end2end')
-rw-r--r--test/core/end2end/tests/filter_status_code.cc20
1 files changed, 19 insertions, 1 deletions
diff --git a/test/core/end2end/tests/filter_status_code.cc b/test/core/end2end/tests/filter_status_code.cc
index ba3cbfa6d1..447ff520ee 100644
--- a/test/core/end2end/tests/filter_status_code.cc
+++ b/test/core/end2end/tests/filter_status_code.cc
@@ -249,6 +249,24 @@ typedef struct final_status_data {
grpc_call_stack* call;
} final_status_data;
+static void start_transport_stream_op_batch(grpc_call_element *elem,
+ grpc_transport_stream_op_batch *op) {
+ auto* data = static_cast<final_status_data*>(elem->call_data);
+ if(data->call == g_server_call_stack) {
+ gpr_log(GPR_INFO, "here");
+ }
+ if(op->send_initial_metadata) {
+ auto *batch = op->payload->send_initial_metadata.send_initial_metadata;
+ gpr_log(GPR_INFO, "init %p %p", batch->idx.named.status, batch->idx.named.grpc_status);
+ grpc_metadata_batch_substitute(batch, batch->idx.named.status, GRPC_MDELEM_STATUS_404);
+ }
+ if(op->send_trailing_metadata) {
+ auto *batch = op->payload->send_trailing_metadata.send_trailing_metadata;
+ gpr_log(GPR_INFO, "trai %p %p", batch->idx.named.status, batch->idx.named.grpc_status);
+ }
+ grpc_call_next_op(elem, op);
+}
+
static grpc_error* init_call_elem(grpc_call_element* elem,
const grpc_call_element_args* args) {
final_status_data* data = static_cast<final_status_data*>(elem->call_data);
@@ -307,7 +325,7 @@ static const grpc_channel_filter test_client_filter = {
"client_filter_status_code"};
static const grpc_channel_filter test_server_filter = {
- grpc_call_next_op,
+ start_transport_stream_op_batch,
grpc_channel_next_op,
sizeof(final_status_data),
init_call_elem,