From 05e8c9db6912dc95de9691e9b90e549a4c3beffe Mon Sep 17 00:00:00 2001 From: lijia Date: Tue, 18 Jun 2024 16:45:35 +0800 Subject: feat: TSG-20446, support http tunnel with CONNECT method. --- test/http_decoder_perf_plug.cpp | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) (limited to 'test/http_decoder_perf_plug.cpp') diff --git a/test/http_decoder_perf_plug.cpp b/test/http_decoder_perf_plug.cpp index f588683..c8c8771 100644 --- a/test/http_decoder_perf_plug.cpp +++ b/test/http_decoder_perf_plug.cpp @@ -28,8 +28,8 @@ extern "C" void http_decoder_perf_entry(struct session *sess, int topic_id, cons struct http_request_line req_line = {0}; struct http_response_line res_line = {0}; struct http_header header = {0}; - struct hstring url = {0}; - struct hstring body = {0}; + hstring url = {0}; + hstring body = {0}; struct http_message *msg = (struct http_message *)raw_msg; enum http_message_type msg_type = http_message_type_get(msg); void *ret1, *ret2; @@ -39,23 +39,23 @@ extern "C" void http_decoder_perf_entry(struct session *sess, int topic_id, cons case HTTP_MESSAGE_REQ_LINE: DEBUG_PRINT("---------------------------------------------------------------\n"); http_message_get_request_line(msg, &req_line); - if (req_line.uri.str) + if (req_line.uri.iov_base) { - DEBUG_PRINT("req_line.method.str: %.*s\n", req_line.method.str_len, req_line.method.str); - ret1 = memmem(req_line.method.str, req_line.method.str_len, "PUT", 3); - DEBUG_PRINT("req_line.version.str: %.*s\n", req_line.version.str_len, req_line.version.str); + DEBUG_PRINT("req_line.method.iov_base: %.*s\n", req_line.method.iov_len, req_line.method.iov_base); + ret1 = memmem(req_line.method.iov_base, req_line.method.iov_len, "PUT", 3); + DEBUG_PRINT("req_line.version.iov_base: %.*s\n", req_line.version.iov_len, req_line.version.iov_base); } break; case HTTP_MESSAGE_REQ_HEADER: while (http_message_header_next(msg, &header) >= 0) { - ret1 = memmem(header.key.str, header.key.str_len, "key", 3); - ret2 = memmem(header.val.str, header.val.str_len, "val", 3); - DEBUG_PRINT("REQ header: %.*s : %.*s\n", (int)header.key.str_len, header.key.str, (int)header.val.str_len, header.val.str); + ret1 = memmem(header.key.iov_base, header.key.iov_len, "key", 3); + ret2 = memmem(header.val.iov_base, header.val.iov_len, "val", 3); + DEBUG_PRINT("REQ header: %.*s : %.*s\n", (int)header.key.iov_len, header.key.iov_base, (int)header.val.iov_len, header.val.iov_base); } http_message_get_url(msg, &url); - if(url.str && url.str_len){ - DEBUG_PRINT("URL: %.*s\n", url.str_len, url.str); + if(url.iov_base && url.iov_len){ + DEBUG_PRINT("URL: %.*s\n", url.iov_len, url.iov_base); } break; case HTTP_MESSAGE_REQ_BODY: @@ -63,29 +63,29 @@ extern "C" void http_decoder_perf_entry(struct session *sess, int topic_id, cons // output_http_body(&body, 0); http_message_get_decompress_body(msg, &body); // output_http_body(&body, 1); - ret1 = memmem(body.str, body.str_len, "", 7); + ret1 = memmem(body.iov_base, body.iov_len, "", 7); break; case HTTP_MESSAGE_RES_LINE: http_message_get_response_line(msg, &res_line); - ret1 = memmem(res_line.status.str, res_line.status.str_len, "OK", 2); - DEBUG_PRINT("res_line.status.str: %.*s\n", (int)res_line.status.str_len, res_line.status.str); + ret1 = memmem(res_line.status.iov_base, res_line.status.iov_len, "OK", 2); + DEBUG_PRINT("res_line.status.iov_base: %.*s\n", (int)res_line.status.iov_len, res_line.status.iov_base); break; case HTTP_MESSAGE_RES_HEADER: while (http_message_header_next(msg, &header) >= 0) { - ret1 = memmem(header.key.str, header.key.str_len, "key", 3); - ret2 = memmem(header.val.str, header.val.str_len, "val", 3); - DEBUG_PRINT("RES header: %.*s : %.*s\n", (int)header.key.str_len, header.key.str, (int)header.val.str_len, header.val.str); + ret1 = memmem(header.key.iov_base, header.key.iov_len, "key", 3); + ret2 = memmem(header.val.iov_base, header.val.iov_len, "val", 3); + DEBUG_PRINT("RES header: %.*s : %.*s\n", (int)header.key.iov_len, header.key.iov_base, (int)header.val.iov_len, header.val.iov_base); } break; case HTTP_MESSAGE_RES_BODY: http_message_get_raw_body(msg, &body); - DEBUG_PRINT("res raw body: %.*s\n", body.str_len, body.str); + DEBUG_PRINT("res raw body: %.*s\n", body.iov_len, body.iov_base); // output_http_body(&body, 0); http_message_get_decompress_body(msg, &body); // output_http_body(&body, 1); - ret1 = memmem(body.str, body.str_len, "", 7); - DEBUG_PRINT("res unzip body: %.*s\n", body.str_len, body.str); + ret1 = memmem(body.iov_base, body.iov_len, "", 7); + DEBUG_PRINT("res unzip body: %.*s\n", body.iov_len, body.iov_base); DEBUG_PRINT("---------------------------------------------------------------\n"); break; -- cgit v1.2.3