aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/ext/filters/http
diff options
context:
space:
mode:
authorGravatar kpayson64 <kpayson@google.com>2018-06-22 13:00:07 -0700
committerGravatar kpayson64 <kpayson@google.com>2018-06-22 13:00:07 -0700
commit96c0a266a0a5f83a2bdd9678dbd05620f6380a91 (patch)
treef905977e2bcc97476b669c258bc0f17079956bb5 /src/core/ext/filters/http
parentdd0995d0159169d23f92eaf1df228033c337866c (diff)
Changes
Diffstat (limited to 'src/core/ext/filters/http')
-rw-r--r--src/core/ext/filters/http/client/http_client_filter.cc2
-rw-r--r--src/core/ext/filters/http/server/http_server_filter.cc9
2 files changed, 6 insertions, 5 deletions
diff --git a/src/core/ext/filters/http/client/http_client_filter.cc b/src/core/ext/filters/http/client/http_client_filter.cc
index eadb9db1be..04ac4ac947 100644
--- a/src/core/ext/filters/http/client/http_client_filter.cc
+++ b/src/core/ext/filters/http/client/http_client_filter.cc
@@ -167,7 +167,7 @@ static void recv_trailing_metadata_ready(void* user_data, grpc_error* error) {
if (calld->recv_initial_metadata_error != GRPC_ERROR_NONE) {
if (error == GRPC_ERROR_NONE) {
error = GRPC_ERROR_REF(calld->recv_initial_metadata_error);
- } else {
+ } else if (error != calld->recv_initial_metadata_error) {
error = grpc_error_add_child(error, calld->recv_initial_metadata_error);
}
}
diff --git a/src/core/ext/filters/http/server/http_server_filter.cc b/src/core/ext/filters/http/server/http_server_filter.cc
index 48eeb9212c..01e5aa445e 100644
--- a/src/core/ext/filters/http/server/http_server_filter.cc
+++ b/src/core/ext/filters/http/server/http_server_filter.cc
@@ -324,14 +324,15 @@ static void hs_recv_trailing_metadata_ready(void* user_data, grpc_error* err) {
if (calld->recv_initial_metadata_ready_error != GRPC_ERROR_NONE) {
if (err == GRPC_ERROR_NONE) {
err = GRPC_ERROR_REF(calld->recv_initial_metadata_ready_error);
- } else {
+ } else if (err != calld->recv_initial_metadata_ready_error) {
err = grpc_error_add_child(err, calld->recv_initial_metadata_ready_error);
+ } else {
+ err = GRPC_ERROR_REF(err);
}
- GRPC_CLOSURE_RUN(calld->original_recv_trailing_metadata_ready, err);
} else {
- GRPC_CLOSURE_RUN(calld->original_recv_trailing_metadata_ready,
- GRPC_ERROR_REF(err));
+ err = GRPC_ERROR_REF(err);
}
+ GRPC_CLOSURE_RUN(calld->original_recv_trailing_metadata_ready, err);
}
static grpc_error* hs_mutate_op(grpc_call_element* elem,