1
This commit is contained in:
parent
c68e482dd8
commit
5cc155cd2b
@ -7,6 +7,7 @@
|
||||
#include <f8/timer.h>
|
||||
#include <f8/netmsghandler.h>
|
||||
#include <f8/protoutils.h>
|
||||
#include <f8/jsonhttprequest.h>
|
||||
|
||||
#include "mastermgr.h"
|
||||
#include "master.h"
|
||||
@ -242,14 +243,32 @@ std::shared_ptr<RequestTarget> MasterMgr::GetRequestByContextId(long long contex
|
||||
|
||||
void MasterMgr::AddHttpTunnelRequest(int socket_handle, std::shared_ptr<f8::JsonHttpRequest> request)
|
||||
{
|
||||
++curr_context_id_;
|
||||
auto req = std::make_shared<HttpTunnelRequest>();
|
||||
req->socket_handle = socket_handle;
|
||||
req->context_id = curr_context_id_;
|
||||
req->request = request;
|
||||
if (!request->GetParams()->IsObject() ||
|
||||
request->GetParams()->Get("team_uuid", "").GetString() == "") {
|
||||
return;
|
||||
}
|
||||
std::string team_uuid = request->GetParams()->Get("team_uuid", "").GetString();
|
||||
unsigned int code = a8::openssl::Crc32((unsigned char*)team_uuid.data(), team_uuid.size());
|
||||
std::shared_ptr<Master> svr = GetConnById(code % mastersvr_hash_.size() + 1);
|
||||
if (svr) {
|
||||
++curr_context_id_;
|
||||
|
||||
pending_http_tunnel_socket_hash_[socket_handle] = req;
|
||||
pending_http_tunnel_context_hash_[curr_context_id_] = req;
|
||||
ss::SS_WSP_HttpTunnelRequest msg;
|
||||
msg.set_context_id(curr_context_id_);
|
||||
msg.set_url(request->GetUrl());
|
||||
std::string query_str;
|
||||
request->GetParams()->ToUrlEncodeStr(query_str);
|
||||
msg.set_query_str(query_str);
|
||||
svr->SendMsg(msg);
|
||||
|
||||
auto req = std::make_shared<HttpTunnelRequest>();
|
||||
req->socket_handle = socket_handle;
|
||||
req->context_id = curr_context_id_;
|
||||
req->request = request;
|
||||
|
||||
pending_http_tunnel_socket_hash_[socket_handle] = req;
|
||||
pending_http_tunnel_context_hash_[curr_context_id_] = req;
|
||||
}
|
||||
}
|
||||
|
||||
void MasterMgr::RemoveHttpTunnelRequest(int socket_handle)
|
||||
|
Loading…
x
Reference in New Issue
Block a user