diff --git a/fmt/Bean2Link.cpp b/fmt/Bean2Link.cpp index fe0df0a..2bb3ada 100644 --- a/fmt/Bean2Link.cpp +++ b/fmt/Bean2Link.cpp @@ -41,6 +41,11 @@ namespace NekoRay::fmt { if (!stream->host.isEmpty()) query.addQueryItem("host", stream->host); } else if (stream->network == "grpc") { if (!stream->path.isEmpty()) query.addQueryItem("serviceName", stream->path); + } else if (stream->network == "tcp") { + if (stream->header_type == "http") { + query.addQueryItem("headerType", "http"); + query.addQueryItem("host", stream->host); + } } url.setQuery(query); diff --git a/fmt/Link2Bean.cpp b/fmt/Link2Bean.cpp index d9eca0b..1cdffa2 100644 --- a/fmt/Link2Bean.cpp +++ b/fmt/Link2Bean.cpp @@ -70,6 +70,11 @@ namespace NekoRay::fmt { stream->host = GetQueryValue(query, "host", "").replace("|", ","); } else if (stream->network == "grpc") { stream->path = GetQueryValue(query, "serviceName", ""); + } else if (stream->network == "tcp") { + if (GetQueryValue(query, "headerType") == "http") { + stream->header_type = "http"; + stream->host = GetQueryValue(query, "host", ""); + } } return !password.isEmpty();