From e5de9c970878dcad53f8b1213b8ac12189758a7b Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Wed, 11 Jul 2012 19:48:07 +0900 Subject: [PATCH] Issue RST_STREAM if the remote end of tunnel is closed. --- examples/shrpx_spdy_upstream.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/examples/shrpx_spdy_upstream.cc b/examples/shrpx_spdy_upstream.cc index f0d7766..ee6fdf1 100644 --- a/examples/shrpx_spdy_upstream.cc +++ b/examples/shrpx_spdy_upstream.cc @@ -436,7 +436,11 @@ void spdy_downstream_eventcb(bufferevent *bev, short events, void *ptr) LOG(INFO) << "Downstream body was ended by EOF"; } downstream->set_response_state(Downstream::MSG_COMPLETE); - upstream->on_downstream_body_complete(downstream); + if(downstream->tunnel_established()) { + upstream->rst_stream(downstream, SPDYLAY_INTERNAL_ERROR); + } else { + upstream->on_downstream_body_complete(downstream); + } upstream->send(); } else if(downstream->get_response_state() == Downstream::MSG_COMPLETE) { // For SSL tunneling?