diff --git a/server/wsproxy/mastermgr.cc b/server/wsproxy/mastermgr.cc index 30a8550..fd5602c 100644 --- a/server/wsproxy/mastermgr.cc +++ b/server/wsproxy/mastermgr.cc @@ -149,7 +149,15 @@ void MasterMgr::_SS_MS_HttpTunnelResponse(f8::MsgHdr* hdr, const ss::SS_MS_HttpT void MasterMgr::_SS_HttpTunnelResponse(f8::MsgHdr* hdr, const ss::SS_HttpTunnelResponse& msg) { - + auto req = GetHttpTunnelRequestByContextId(msg.context_id()); + if (req) { + req->request->GetResp()->ReadFromJsonString(msg.response()); + req->request->Response(); + if (!req->timer_wp.expired()) { + f8::Timer::Instance()->Delete(req->timer_wp); + } + RemoveHttpTunnelRequest(req->socket_handle); + } } std::shared_ptr MasterMgr::GetConnById(int instance_id)