summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/decoders/http/CMakeLists.txt4
-rw-r--r--test/decoders/http/benchmarks/json/http_chn_encode_url.json6
-rw-r--r--test/decoders/http/benchmarks/json/http_chunked_res_gzip.json8
-rw-r--r--test/decoders/http/benchmarks/json/http_get_encoded_uri.json14
-rw-r--r--test/decoders/http/benchmarks/json/http_get_long_cookie.json5
-rw-r--r--test/decoders/http/benchmarks/json/http_get_multi_trans.json26
-rw-r--r--test/decoders/http/benchmarks/json/http_get_req_pipeline.json13
-rw-r--r--test/decoders/http/benchmarks/json/http_get_single_trans.json7
-rw-r--r--test/decoders/http/benchmarks/json/http_gzip_out_of_order.json8
-rw-r--r--test/decoders/http/benchmarks/json/http_hdrs_exceed_maximum.json99
-rw-r--r--test/decoders/http/benchmarks/json/http_msg_type_state.json22
-rw-r--r--test/decoders/http/benchmarks/json/http_msg_type_state_c2s.json12
-rw-r--r--test/decoders/http/benchmarks/json/http_msg_type_state_exception_c2s.json10
-rw-r--r--test/decoders/http/benchmarks/json/http_msg_type_state_exception_s2c.json14
-rw-r--r--test/decoders/http/benchmarks/json/http_msg_type_state_pipeline.json82
-rw-r--r--test/decoders/http/benchmarks/json/http_msg_type_state_s2c.json12
-rw-r--r--test/decoders/http/benchmarks/json/http_msg_type_state_tunnel.json6
-rw-r--r--test/decoders/http/benchmarks/json/http_msg_type_state_tunnel_c2s.json2
-rw-r--r--test/decoders/http/benchmarks/json/http_msg_type_state_tunnel_s2c.json2
-rw-r--r--test/decoders/http/benchmarks/json/http_multi_parse_error.json10
-rw-r--r--test/decoders/http/benchmarks/json/http_no_content_length.json7
-rw-r--r--test/decoders/http/benchmarks/json/http_out_of_order.json7
-rw-r--r--test/decoders/http/benchmarks/json/http_over_pppoe.json7
-rw-r--r--test/decoders/http/benchmarks/json/http_over_tcp_keepalive.json8
-rw-r--r--test/decoders/http/benchmarks/json/http_pipeline_header_splitting.json14
-rw-r--r--test/decoders/http/benchmarks/json/http_post_multipart_form_data.json22
-rw-r--r--test/decoders/http/benchmarks/json/http_req_1byte_sliding_window.json7
-rw-r--r--test/decoders/http/benchmarks/json/http_res_1byte_sliding_window.json7
-rw-r--r--test/decoders/http/benchmarks/json/http_res_gzip.json8
-rw-r--r--test/decoders/http/benchmarks/json/http_trans_pipeline.json116
-rw-r--r--test/decoders/http/benchmarks/json/http_upgrade_websocket.json6
-rw-r--r--test/decoders/http/benchmarks/json/http_url_test_without_host.json7
-rw-r--r--test/decoders/http/benchmarks/json/http_url_test_without_host_v6.json6
-rw-r--r--test/decoders/http/benchmarks/json/http_zlib_deadlock.json8
-rw-r--r--test/decoders/http/http_gtest.cpp285
-rw-r--r--test/decoders/http/http_test_plug.cpp166
-rw-r--r--test/decoders/http/test_based_on_stellar/CMakeLists.txt4
-rw-r--r--test/decoders/http/test_based_on_stellar/env/http_decoder.toml3
38 files changed, 637 insertions, 413 deletions
diff --git a/test/decoders/http/CMakeLists.txt b/test/decoders/http/CMakeLists.txt
index 5011a95..a8f0b83 100644
--- a/test/decoders/http/CMakeLists.txt
+++ b/test/decoders/http/CMakeLists.txt
@@ -11,8 +11,8 @@ include_directories(${CMAKE_SOURCE_DIR}/deps)
include_directories(${PROJECT_SOURCE_DIR}/decoders/http)
include_directories(${PROJECT_SOURCE_DIR}/include/stellar)
-add_executable(gtest_http http_gtest.cpp ${PROJECT_SOURCE_DIR}/decoders/http/http_decoder_utils.c ${PROJECT_SOURCE_DIR}/decoders/http/http_content_decompress.c ${PROJECT_SOURCE_DIR}/deps/md5/md5.c)
-target_link_libraries(gtest_http gtest stellar_lib llhttp-static z brotli-dec-static brotli-enc-static brotli-common-static libevent-static)
+add_executable(gtest_http http_gtest.cpp ${PROJECT_SOURCE_DIR}/decoders/http/http_decoder_utils.c ${PROJECT_SOURCE_DIR}/decoders/http/http_decoder_stat.c ${PROJECT_SOURCE_DIR}/decoders/http/http_content_decompress.c ${PROJECT_SOURCE_DIR}/deps/md5/md5.c)
+target_link_libraries(gtest_http nmx_pool gtest stellar_lib llhttp-static z brotli-dec-static brotli-enc-static brotli-common-static fieldstat4)
add_executable(http_test_main plugin_test_main.cpp)
set_target_properties(http_test_main
diff --git a/test/decoders/http/benchmarks/json/http_chn_encode_url.json b/test/decoders/http/benchmarks/json/http_chn_encode_url.json
index 5453415..e5be533 100644
--- a/test/decoders/http/benchmarks/json/http_chn_encode_url.json
+++ b/test/decoders/http/benchmarks/json/http_chn_encode_url.json
@@ -20,7 +20,8 @@
"Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8",
"Cookie": "_gcl_au=1.1.240068387.1720059437; _ga_CGYVD7S4G4=GS1.1.1720059448.3.0.1720059453.0.0.0; HMF_CI=7967e38cc3874dbbefa260b8dcbee31fa827a01fc2b7073105a5e05f4a1ea361c74f6d4c37fb199bfc9470036f06fb537da2a74e96450b7949e0b686f0569f9680; HMY_JC=84f9c8a99e076ee2dda5ba48cd953f61c4dc2707823205d8171c8818eea9d60fda,; _ga=GA1.3.822493162.1711101509; _gid=GA1.3.304369429.1721120134; arialoadData=true; ariawapChangeViewPort=false; C3VK=be8842; HBB_HC=faa7f3e2477e14525534a5560ed6a307b29ae2c324e1f631a428e53fb74c9d72575c155d682554ba15cc9e52afe31218b1; mbox=check#true#1721120252|session#1721120133635-517642#1721122052; s_pers=%20s_fid%3D52863027521849CD-3A72894997C48527%7C1878886591105%3B; s_sess=%20s_cc%3Dtrue%3B",
"__X_HTTP_URL": "www.airchina.com.cn/%E6%B5%8B%E8%AF%95%E4%B8%AD%E6%96%87URL%E7%BC%96%E8%A7%A3%E7%A0%81",
- "__X_HTTP_DECODED_URL": "www.airchina.com.cn/测试中文URL编解码"
+ "__X_HTTP_DECODED_URL": "www.airchina.com.cn/测试中文URL编解码",
+ "__X_HTTP_HEADERS_INTERGRATION": "Host: www.airchina.com.cn\r\nConnection: keep-alive\r\nDNT: 1\r\nUpgrade-Insecure-Requests: 1\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7\r\nAccept-Encoding: gzip, deflate\r\nAccept-Language: zh-CN,zh;q=0.9,en;q=0.8\r\nCookie: _gcl_au=1.1.240068387.1720059437; _ga_CGYVD7S4G4=GS1.1.1720059448.3.0.1720059453.0.0.0; HMF_CI=7967e38cc3874dbbefa260b8dcbee31fa827a01fc2b7073105a5e05f4a1ea361c74f6d4c37fb199bfc9470036f06fb537da2a74e96450b7949e0b686f0569f9680; HMY_JC=84f9c8a99e076ee2dda5ba48cd953f61c4dc2707823205d8171c8818eea9d60fda,; _ga=GA1.3.822493162.1711101509; _gid=GA1.3.304369429.1721120134; arialoadData=true; ariawapChangeViewPort=false; C3VK=be8842; HBB_HC=faa7f3e2477e14525534a5560ed6a307b29ae2c324e1f631a428e53fb74c9d72575c155d682554ba15cc9e52afe31218b1; mbox=check#true#1721120252|session#1721120133635-517642#1721122052; s_pers=%20s_fid%3D52863027521849CD-3A72894997C48527%7C1878886591105%3B; s_sess=%20s_cc%3Dtrue%3B\r\n\r\n"
},
{
"__X_HTTP_TRANSACTION": "response",
@@ -37,6 +38,7 @@
"Location": "https://www.airchina.com.cn/%E6%B5%8B%E8%AF%95%E4%B8%AD%E6%96%87URL%E7%BC%96%E8%A7%A3%E7%A0%81",
"x-ws-origin-error": "-",
"X-Via": "1.1 PSjsczBGPiv194:0 (Cdn Cache Server V2.0), 1.1 PStjdxpn34:6 (Cdn Cache Server V2.0)",
- "X-Ws-Request-Id": "669635fc_PStjdxks32_7630-15285"
+ "X-Ws-Request-Id": "669635fc_PStjdxks32_7630-15285",
+ "__X_HTTP_HEADERS_INTERGRATION": "Date: Tue, 16 Jul 2024 08:57:32 GMT\r\nContent-Length: 0\r\nConnection: keep-alive\r\nServer: waf/4.39.0-0.el7\r\nLocation: https://www.airchina.com.cn/%E6%B5%8B%E8%AF%95%E4%B8%AD%E6%96%87URL%E7%BC%96%E8%A7%A3%E7%A0%81\r\nx-ws-origin-error: -\r\nX-Via: 1.1 PSjsczBGPiv194:0 (Cdn Cache Server V2.0), 1.1 PStjdxpn34:6 (Cdn Cache Server V2.0)\r\nX-Ws-Request-Id: 669635fc_PStjdxks32_7630-15285\r\n\r\n"
}
] \ No newline at end of file
diff --git a/test/decoders/http/benchmarks/json/http_chunked_res_gzip.json b/test/decoders/http/benchmarks/json/http_chunked_res_gzip.json
index 370b4a7..eea5353 100644
--- a/test/decoders/http/benchmarks/json/http_chunked_res_gzip.json
+++ b/test/decoders/http/benchmarks/json/http_chunked_res_gzip.json
@@ -15,7 +15,8 @@
"Accept": "*/*",
"Connection": "close",
"Accept-Encoding": "chunked, gzip",
- "__X_HTTP_URL": "www.wireshark.org:8080/"
+ "__X_HTTP_URL": "www.wireshark.org:8080/",
+ "__X_HTTP_HEADERS_INTERGRATION": "Host: www.wireshark.org:8080\r\nUser-Agent: curl/7.46.0\r\nAccept: */*\r\nConnection: close\r\nAccept-Encoding: chunked, gzip\r\n\r\n"
},
{
"__X_HTTP_TRANSACTION": "response",
@@ -40,7 +41,8 @@
"X-Slogan1": "Go deep.",
"CF-RAY": "260a3f709d7b0761-AMS",
"Content-Encoding": "gzip",
- "__X_HTTP_RAW_PAYLOAD_MD5": "5387fc115327b819ba920ad6ce8f3e3a",
- "__X_HTTP_DECOMPRESS_PAYLOAD_MD5": "855f8310be999de806e89a420a95435d"
+ "__X_HTTP_HEADERS_INTERGRATION": "Server: cloudflare-nginx\r\nDate: Wed, 06 Jan 2016 20:42:10 GMT\r\nContent-Type: text/html\r\nTransfer-Encoding: chunked\r\nConnection: close\r\nSet-Cookie: __cfduid=d8d37b52eaa3137bdfd7fd67a4ffc8a7a1452112929; expires=Thu, 05-Jan-17 20:42:09 GMT; path=/; domain=.wireshark.org; HttpOnly\r\nX-Frame-Options: SAMEORIGIN\r\nStrict-Transport-Security: max-age=31536000;\r\nX-Slogan: It's a great product with a great story to tell. I'm pumped!\r\nX-Mod-Pagespeed: 1.9.32.11-7550\r\nVary: Accept-Encoding\r\nCache-control: max-age=0, no-cache, no-store\r\nX-Slogan: Go deep.\r\nCF-RAY: 260a3f709d7b0761-AMS\r\nContent-Encoding: gzip\r\n\r\n",
+ "__X_HTTP_RAW_PAYLOAD_MD5": "5387fc115327b819ba920ad6ce8f3e3a",
+ "__X_HTTP_DECOMPRESS_PAYLOAD_MD5": "855f8310be999de806e89a420a95435d"
}
] \ No newline at end of file
diff --git a/test/decoders/http/benchmarks/json/http_get_encoded_uri.json b/test/decoders/http/benchmarks/json/http_get_encoded_uri.json
index de1419a..ee62e99 100644
--- a/test/decoders/http/benchmarks/json/http_get_encoded_uri.json
+++ b/test/decoders/http/benchmarks/json/http_get_encoded_uri.json
@@ -22,7 +22,8 @@
"Host": "58.16.70.122",
"Content-Length": "0",
"Accept-Encoding": "gzip, deflate",
- "__X_HTTP_URL": "58.16.70.122/disAll/tcCertType.html"
+ "__X_HTTP_URL": "58.16.70.122/disAll/tcCertType.html",
+ "__X_HTTP_HEADERS_INTERGRATION": "User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.8,en-us,en;q=0.5\r\nOrigin: http://58.16.70.122\r\nX-Requested-With: XMLHttpRequest\r\nReferer: http://58.16.70.122/register.jsp?redirect:http://58.16.70.122.r87.com/?\r\nCache-Control: no-cache\r\nX-Scanner: Netsparker\r\nCookie: JSESSIONID=385C79E211D561C0CA13D90F150F603D\r\nHost: 58.16.70.122\r\nContent-Length: 0\r\nAccept-Encoding: gzip, deflate\r\n\r\n"
},
{
"__X_HTTP_TRANSACTION": "response",
@@ -38,8 +39,8 @@
"Content-Type": "text/html;charset=UTF-8",
"Transfer-Encoding": "chunked",
"Date": "Sat, 18 May 2019 01:36:57 GMT",
- "__X_HTTP_RAW_PAYLOAD_MD5": "d545e0faf20f7ffe90e31cfc1aef1782",
- "__X_HTTP_DECOMPRESS_PAYLOAD_MD5": "d545e0faf20f7ffe90e31cfc1aef1782"
+ "__X_HTTP_HEADERS_INTERGRATION": "Server: Apache-Coyote/1.1\r\nPragma: No-cache\r\nExpires: Thu, 01 Jan 1970 00:00:00 GMT\r\nContent-Type: text/html;charset=UTF-8\r\nTransfer-Encoding: chunked\r\nDate: Sat, 18 May 2019 01:36:57 GMT\r\n\r\n",
+ "__X_HTTP_RAW_PAYLOAD_MD5": "d545e0faf20f7ffe90e31cfc1aef1782"
},
{
"__X_HTTP_TRANSACTION": "request",
@@ -58,7 +59,8 @@
"Host": "58.16.70.122",
"Accept-Encoding": "gzip, deflate",
"__X_HTTP_URL": "58.16.70.122/upload/%E6%B3%95%E5%BE%8B%E6%B3%95%E8%A7%84/%E5%B8%82%E4%BA%BA%E6%B0%91%E6%94%BF%E5%BA%9C%E5%8A%9E%E5%85%AC%E5%8E%85%E5%8D%B0%E5%8F%91%E8%B4%B5%E9%98%B3%E5%B8%82%E5%85%B3%E4%BA%8E%E6%8E%A8%E8%BF%9B%E5%B7%A5%E5%95%86%E8%90%A5%E4%B8%9A%E6%89%A7%E7%85%A7%E3%80%81%E7%BB%84%E7%BB%87%E6%9C%BA%E6%9E%84%E4%BB%A3%E7%A0%81%E8%AF%81%E5%92%8C%E7%A8%8E%E5%8A%A1%E7%99%BB%E8%AE%B0%E8%AF%81%E2%80%9C%E4%B8%89%E8%AF%81%E5%90%88%E4%B8%80%E2%80%9D%E7%99%BB%E8%AE%B0%E5%88%B6%E5%BA%A6%E6%94%B9%E9%9D%A9%E5%AE%9E%E6%96%BD%E6%96%B9%E6%A1%88%E7%9A%84%E9%80%9A%E7%9F%A5%EF%BC%88%E7%AD%91%E5%BA%9C%E5%8A%9E%E5%87%BD%E3%80%902015%E3%80%91162%E5%8F%B7%EF%BC%89.docx?nsextt=N3TSP4RKE2",
- "__X_HTTP_DECODED_URL": "58.16.70.122/upload/法律法规/市人民政府办公厅印发贵阳市关于推进工商营业执照、组织机构代码证和税务登记证“三证合一”登记制度改革实施方案的通知(筑府办函【2015】162号).docx?nsextt=N3TSP4RKE2"
+ "__X_HTTP_DECODED_URL": "58.16.70.122/upload/法律法规/市人民政府办公厅印发贵阳市关于推进工商营业执照、组织机构代码证和税务登记证“三证合一”登记制度改革实施方案的通知(筑府办函【2015】162号).docx?nsextt=N3TSP4RKE2",
+ "__X_HTTP_HEADERS_INTERGRATION": "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8\r\nUser-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36\r\nCache-Control: no-cache\r\nAccept-Language: en-us,en;q=0.5\r\nX-Scanner: Netsparker\r\nCookie: JSESSIONID=385C79E211D561C0CA13D90F150F603D\r\nHost: 58.16.70.122\r\nAccept-Encoding: gzip, deflate\r\n\r\n"
},
{
"__X_HTTP_TRANSACTION": "response",
@@ -75,7 +77,7 @@
"Content-Type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document;charset=UTF-8",
"Content-Length": "1703517",
"Date": "Sat, 18 May 2019 01:37:00 GMT",
- "__X_HTTP_RAW_PAYLOAD_MD5": "3598c468910611a3128d068e20ae0e82",
- "__X_HTTP_DECOMPRESS_PAYLOAD_MD5": "3598c468910611a3128d068e20ae0e82"
+ "__X_HTTP_HEADERS_INTERGRATION": "Server: Apache-Coyote/1.1\r\nAccept-Ranges: bytes\r\nETag: W/\"1703517-1546572172000\"\r\nLast-Modified: Fri, 04 Jan 2019 03:22:52 GMT\r\nContent-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document;charset=UTF-8\r\nContent-Length: 1703517\r\nDate: Sat, 18 May 2019 01:37:00 GMT\r\n\r\n",
+ "__X_HTTP_RAW_PAYLOAD_MD5": "3598c468910611a3128d068e20ae0e82"
}
] \ No newline at end of file
diff --git a/test/decoders/http/benchmarks/json/http_get_long_cookie.json b/test/decoders/http/benchmarks/json/http_get_long_cookie.json
index 118022d..6643f36 100644
--- a/test/decoders/http/benchmarks/json/http_get_long_cookie.json
+++ b/test/decoders/http/benchmarks/json/http_get_long_cookie.json
@@ -18,7 +18,8 @@
"Accept-Encoding": "gzip,deflate,sdch",
"Accept-Language": "zh-CN,zh;q=0.8",
"__X_HTTP_URL": "livep.l.qq.com/livemsg?imagemd5=02f5efd8a349c50280f8540b2735bd54&tailroll=1&plugin=1.3.8&pf=out&si=3766845706&url=http%3A%2F%2Fsports.qq.com%2Fa%2F20160106%2F008987.htm&soid=CA7F9C5B0120568CDC2F68726300&chid=0&ping_data=dXNlcl9pbmZvPXVCWDluVDg5SFJhOUFQK0JQVGdKRUxVYi9Kdz0&t=0&iptype=0&vptag=&pid=7F993E38C0E676ACC07DE764D1F3DEF56AA8F90A&adtype=LD&oadid=6012&ev=3236&l=4020&ufc_filter=0&imagelog=1&pid2=7F993E38C0E676ACC07DE764D1F3DEF56AA8F90A&mt=15000&coverid=&reqtime=1452071981&requestl=4020&isthirdip=0&cid=0&isfloatindex=0&o=100654557&lcount=2&refluence=4020&from=0&vid=m01794rm5ej&cip=202.127.156.91&aver=0&ip_filter=0&adlength=30000&tagid=&v=TencentPlayerOutV3.2.19.346&live=0&dura=105",
- "__X_HTTP_DECODED_URL": "livep.l.qq.com/livemsg?imagemd5=02f5efd8a349c50280f8540b2735bd54&tailroll=1&plugin=1.3.8&pf=out&si=3766845706&url=http://sports.qq.com/a/20160106/008987.htm&soid=CA7F9C5B0120568CDC2F68726300&chid=0&ping_data=dXNlcl9pbmZvPXVCWDluVDg5SFJhOUFQK0JQVGdKRUxVYi9Kdz0&t=0&iptype=0&vptag=&pid=7F993E38C0E676ACC07DE764D1F3DEF56AA8F90A&adtype=LD&oadid=6012&ev=3236&l=4020&ufc_filter=0&imagelog=1&pid2=7F993E38C0E676ACC07DE764D1F3DEF56AA8F90A&mt=15000&coverid=&reqtime=1452071981&requestl=4020&isthirdip=0&cid=0&isfloatindex=0&o=100654557&lcount=2&refluence=4020&from=0&vid=m01794rm5ej&cip=202.127.156.91&aver=0&ip_filter=0&adlength=30000&tagid=&v=TencentPlayerOutV3.2.19.346&live=0&dura=105",
- "Cookie": "flashuser=95621BA8CB862E09; piao_city=179; lv_irt_id=3628e1bbe25a6c941da9fac02ec2df8b; cm_cookie=V1,10017&-EP5mRruXhQarsCl5LD-2YzgjVTvyr2K&AQEBh7uoLMUB9lnaB5Tz9XdYnGIWflXmsDrU&150723&150723,10035&7t-tEmfJ076VAsM9&AQEBh7uoLMUB9lnc4tpW7vbazqdrRdBYOUCi&150724&150807,110054&ucO0Z0gctNn3&AQEBh7uoLMUB9llxMNl45F3RAIsKK0iMOJAG&150716&151008,10040&ACZ1r0A70NaEFcGT&AQEBh7uoLMUB9lmVgSoTwuuXZi896zSVsXIF&150818&151014,110015&1&AQEBh7uoLMUB9lkt2LUHO6ARwODHLI_Y51rj&150928&151103,10037&1433388364186289251984&AQEBh7uoLMUB9llIBencOqTAEh2aQ2SURSSQ&150909&151110,10011&jL40Z03uUFI0&AQEBh7uoLMUB9lkfw2sJVNx9g12Fzs12rPSN&150717&151125,10016&F64E6LFZs0W&AQEBh7uoLMUB9llE4yoPFNUykSj7WKaRK5lH&150805&151127,10019&WQAO-C1K9qI5OP8W_t2pSw&AQEBh7uoLMUB9llhpZE87GmOk3XGo_MJgV6K&150826&151130,10015&820490997316506147&AQEBh7uoLMUB9llXiynsGYRhMO3XuPnkuHUt&150715&151201,10012&x3X1yY6b&AQEBh7uoLMUB9ll9mraU_LJCDBYsE0Sbk_V9&151202&151202,110065&ucO0Z0gctNn3&AQEBh7uoLMUB9lkJcK3KDBQTKF0YfZ5wB7r5&150716&151203,110066&jL40Z03uUFI0&AQEBh7uoLMUB9lnyvKSYhcJD1X_rSs_DLVWx&150916&151221,10013&ePyYB2MSKa0TCbebpxKjmU&AQEBh7uoLMUB9ln6_6nGNidqml4nFKXhtE58&151221&151221,110061&d9cfa518d82abee&AQEBh7uoLMUB9llj2NYzmCjxaLWXALTcAGIH&150818&151224,10038&CAESEPZbUhToZJ39CS9MlgXGUSQ&AQEBh7uoLMUB9lmhnrDM5lIGtl6vc1NxMD6F&151110&151224,10077&820490997316506147&AQEBh7uoLMUB9lmkUdUe2xSHGkvM0IRu9Jt9&151214&151228,10008&0yPSvk92ie1nhB8wTUlTq&AQEBh7uoLMUB9lnL5ZCYvXJNvlv53G0CKEkj&150817&151228,10045&0&AQEBh7uoLMUB9llW3v1Vh7W72lv14RlAjUXn&151023&151228,110064&jL40Z03uUFI0&AQEBh7uoLMUB9lkBYuCUDLDrOcGURJcilogv&151016&160104,110069&26d49ecc&AQEBh7uoLMUB9lmlBLTxQY9BkCmimkMFqTo5&151204&160105,10079&B8hGto5y1e3uDXwCMsIun3rjk--dVCof&AQEBh7uoLMUB9llxnFrhDtdNMjZ1hs1il5J4&151214&160105; LHTturn=24; ptisp=ctc; RK=hRWyd82Gd8; pgv_pvi=7567882240; image_md5=bd21d5fb2f401b37cf3a02724dc06545; LTPturn=27; pt2gguin=o0583115900; uin=o0583115900; skey=@Mp9aCinaO; ptcz=10d4b1b7bde835d64663338a8008fd4f81e2c6b5f0ba81a90da3627ee617c7ee; pgv_info=ssid=s4768939310; pgv_pvid=6872592818; o_cookie=583115900; lv_play_index_textAd=47; lv_play_indexl.=32; dc_vplaying=1; LKBturn=29; Lturn=29; adid=583115900; appuser=95621BA8CB862E09; o_minduid=phhdxyNLkxBWMa74VTm5zU4y5EbUv5vR; appuser_95621BA8CB862E09_0=2b7gwp=1453219199_6&2btemv=1455551999_1&2c8311=1453305599_3&2cfx4j=1453651199_3&2cfx9l=1453651199_1&2d49y9=1453823999_2&2d67kl=1454255999_2&2d69mf=1454255999_3&2dxv8l=1455465599_6&2dzhfl=1452614399_1&f_pogvwp=1452095999_1&f_pogvwv=1452095999_2&f_pogw0m=1452095999_1&fd_15bm2t7=1452095999_1&fd_1h2pbsd=1452095999_2&fd_1k6so62=1452095999_1&fd_rhmjmq=1452095999_2&m_roiw0t=1452095999_3&m_xty8wl=1452095999_1&pogree=1452095999_2; TX.boid=100655474=1452072582_1&701041365=1452072585_1; appuser_95621BA8CB862E09_effect_0=fd_1ez2rcc=1452095999_1&fd_qdh7zw=1452095999_1&fd_ul215j=1452095999_1; psessionid=ca7f9c5b_1452071982_583115900_30754; psessiontime=1452071990"
+ "__X_HTTP_DECODED_URL": "livep.l.qq.com/livemsg?imagemd5=02f5efd8a349c50280f8540b2735bd54&tailroll=1&plugin=1.3.8&pf=out&si=3766845706&url=http://sports.qq.com/a/20160106/008987.htm&soid=CA7F9C5B0120568CDC2F68726300&chid=0&ping_data=dXNlcl9pbmZvPXVCWDluVDg5SFJhOUFQK0JQVGdKRUxVYi9Kdz0&t=0&iptype=0&vptag=&pid=7F993E38C0E676ACC07DE764D1F3DEF56AA8F90A&adtype=LD&oadid=6012&ev=3236&l=4020&ufc_filter=0&imagelog=1&pid2=7F993E38C0E676ACC07DE764D1F3DEF56AA8F90A&mt=15000&coverid=&reqtime=1452071981&requestl=4020&isthirdip=0&cid=0&isfloatindex=0&o=100654557&lcount=2&refluence=4020&from=0&vid=m01794rm5ej&cip=202.127.156.91&aver=0&ip_filter=0&adlength=30000&tagid=&v=TencentPlayerOutV3.2.19.346&live=0&dura=105",
+ "Cookie": "flashuser=95621BA8CB862E09; piao_city=179; lv_irt_id=3628e1bbe25a6c941da9fac02ec2df8b; cm_cookie=V1,10017&-EP5mRruXhQarsCl5LD-2YzgjVTvyr2K&AQEBh7uoLMUB9lnaB5Tz9XdYnGIWflXmsDrU&150723&150723,10035&7t-tEmfJ076VAsM9&AQEBh7uoLMUB9lnc4tpW7vbazqdrRdBYOUCi&150724&150807,110054&ucO0Z0gctNn3&AQEBh7uoLMUB9llxMNl45F3RAIsKK0iMOJAG&150716&151008,10040&ACZ1r0A70NaEFcGT&AQEBh7uoLMUB9lmVgSoTwuuXZi896zSVsXIF&150818&151014,110015&1&AQEBh7uoLMUB9lkt2LUHO6ARwODHLI_Y51rj&150928&151103,10037&1433388364186289251984&AQEBh7uoLMUB9llIBencOqTAEh2aQ2SURSSQ&150909&151110,10011&jL40Z03uUFI0&AQEBh7uoLMUB9lkfw2sJVNx9g12Fzs12rPSN&150717&151125,10016&F64E6LFZs0W&AQEBh7uoLMUB9llE4yoPFNUykSj7WKaRK5lH&150805&151127,10019&WQAO-C1K9qI5OP8W_t2pSw&AQEBh7uoLMUB9llhpZE87GmOk3XGo_MJgV6K&150826&151130,10015&820490997316506147&AQEBh7uoLMUB9llXiynsGYRhMO3XuPnkuHUt&150715&151201,10012&x3X1yY6b&AQEBh7uoLMUB9ll9mraU_LJCDBYsE0Sbk_V9&151202&151202,110065&ucO0Z0gctNn3&AQEBh7uoLMUB9lkJcK3KDBQTKF0YfZ5wB7r5&150716&151203,110066&jL40Z03uUFI0&AQEBh7uoLMUB9lnyvKSYhcJD1X_rSs_DLVWx&150916&151221,10013&ePyYB2MSKa0TCbebpxKjmU&AQEBh7uoLMUB9ln6_6nGNidqml4nFKXhtE58&151221&151221,110061&d9cfa518d82abee&AQEBh7uoLMUB9llj2NYzmCjxaLWXALTcAGIH&150818&151224,10038&CAESEPZbUhToZJ39CS9MlgXGUSQ&AQEBh7uoLMUB9lmhnrDM5lIGtl6vc1NxMD6F&151110&151224,10077&820490997316506147&AQEBh7uoLMUB9lmkUdUe2xSHGkvM0IRu9Jt9&151214&151228,10008&0yPSvk92ie1nhB8wTUlTq&AQEBh7uoLMUB9lnL5ZCYvXJNvlv53G0CKEkj&150817&151228,10045&0&AQEBh7uoLMUB9llW3v1Vh7W72lv14RlAjUXn&151023&151228,110064&jL40Z03uUFI0&AQEBh7uoLMUB9lkBYuCUDLDrOcGURJcilogv&151016&160104,110069&26d49ecc&AQEBh7uoLMUB9lmlBLTxQY9BkCmimkMFqTo5&151204&160105,10079&B8hGto5y1e3uDXwCMsIun3rjk--dVCof&AQEBh7uoLMUB9llxnFrhDtdNMjZ1hs1il5J4&151214&160105; LHTturn=24; ptisp=ctc; RK=hRWyd82Gd8; pgv_pvi=7567882240; image_md5=bd21d5fb2f401b37cf3a02724dc06545; LTPturn=27; pt2gguin=o0583115900; uin=o0583115900; skey=@Mp9aCinaO; ptcz=10d4b1b7bde835d64663338a8008fd4f81e2c6b5f0ba81a90da3627ee617c7ee; pgv_info=ssid=s4768939310; pgv_pvid=6872592818; o_cookie=583115900; lv_play_index_textAd=47; lv_play_indexl.=32; dc_vplaying=1; LKBturn=29; Lturn=29; adid=583115900; appuser=95621BA8CB862E09; o_minduid=phhdxyNLkxBWMa74VTm5zU4y5EbUv5vR; appuser_95621BA8CB862E09_0=2b7gwp=1453219199_6&2btemv=1455551999_1&2c8311=1453305599_3&2cfx4j=1453651199_3&2cfx9l=1453651199_1&2d49y9=1453823999_2&2d67kl=1454255999_2&2d69mf=1454255999_3&2dxv8l=1455465599_6&2dzhfl=1452614399_1&f_pogvwp=1452095999_1&f_pogvwv=1452095999_2&f_pogw0m=1452095999_1&fd_15bm2t7=1452095999_1&fd_1h2pbsd=1452095999_2&fd_1k6so62=1452095999_1&fd_rhmjmq=1452095999_2&m_roiw0t=1452095999_3&m_xty8wl=1452095999_1&pogree=1452095999_2; TX.boid=100655474=1452072582_1&701041365=1452072585_1; appuser_95621BA8CB862E09_effect_0=fd_1ez2rcc=1452095999_1&fd_qdh7zw=1452095999_1&fd_ul215j=1452095999_1; psessionid=ca7f9c5b_1452071982_583115900_30754; psessiontime=1452071990",
+ "__X_HTTP_HEADERS_INTERGRATION": "Host: livep.l.qq.com\r\nConnection: keep-alive\r\nUser-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36\r\nAccept: */*\r\nReferer: http://imgcache.qq.com/tencentvideo_v1/player/TPout.swf?max_age=86400&v=20140714\r\nAccept-Encoding: gzip,deflate,sdch\r\nAccept-Language: zh-CN,zh;q=0.8\r\nCookie: flashuser=95621BA8CB862E09; piao_city=179; lv_irt_id=3628e1bbe25a6c941da9fac02ec2df8b; cm_cookie=V1,10017&-EP5mRruXhQarsCl5LD-2YzgjVTvyr2K&AQEBh7uoLMUB9lnaB5Tz9XdYnGIWflXmsDrU&150723&150723,10035&7t-tEmfJ076VAsM9&AQEBh7uoLMUB9lnc4tpW7vbazqdrRdBYOUCi&150724&150807,110054&ucO0Z0gctNn3&AQEBh7uoLMUB9llxMNl45F3RAIsKK0iMOJAG&150716&151008,10040&ACZ1r0A70NaEFcGT&AQEBh7uoLMUB9lmVgSoTwuuXZi896zSVsXIF&150818&151014,110015&1&AQEBh7uoLMUB9lkt2LUHO6ARwODHLI_Y51rj&150928&151103,10037&1433388364186289251984&AQEBh7uoLMUB9llIBencOqTAEh2aQ2SURSSQ&150909&151110,10011&jL40Z03uUFI0&AQEBh7uoLMUB9lkfw2sJVNx9g12Fzs12rPSN&150717&151125,10016&F64E6LFZs0W&AQEBh7uoLMUB9llE4yoPFNUykSj7WKaRK5lH&150805&151127,10019&WQAO-C1K9qI5OP8W_t2pSw&AQEBh7uoLMUB9llhpZE87GmOk3XGo_MJgV6K&150826&151130,10015&820490997316506147&AQEBh7uoLMUB9llXiynsGYRhMO3XuPnkuHUt&150715&151201,10012&x3X1yY6b&AQEBh7uoLMUB9ll9mraU_LJCDBYsE0Sbk_V9&151202&151202,110065&ucO0Z0gctNn3&AQEBh7uoLMUB9lkJcK3KDBQTKF0YfZ5wB7r5&150716&151203,110066&jL40Z03uUFI0&AQEBh7uoLMUB9lnyvKSYhcJD1X_rSs_DLVWx&150916&151221,10013&ePyYB2MSKa0TCbebpxKjmU&AQEBh7uoLMUB9ln6_6nGNidqml4nFKXhtE58&151221&151221,110061&d9cfa518d82abee&AQEBh7uoLMUB9llj2NYzmCjxaLWXALTcAGIH&150818&151224,10038&CAESEPZbUhToZJ39CS9MlgXGUSQ&AQEBh7uoLMUB9lmhnrDM5lIGtl6vc1NxMD6F&151110&151224,10077&820490997316506147&AQEBh7uoLMUB9lmkUdUe2xSHGkvM0IRu9Jt9&151214&151228,10008&0yPSvk92ie1nhB8wTUlTq&AQEBh7uoLMUB9lnL5ZCYvXJNvlv53G0CKEkj&150817&151228,10045&0&AQEBh7uoLMUB9llW3v1Vh7W72lv14RlAjUXn&151023&151228,110064&jL40Z03uUFI0&AQEBh7uoLMUB9lkBYuCUDLDrOcGURJcilogv&151016&160104,110069&26d49ecc&AQEBh7uoLMUB9lmlBLTxQY9BkCmimkMFqTo5&151204&160105,10079&B8hGto5y1e3uDXwCMsIun3rjk--dVCof&AQEBh7uoLMUB9llxnFrhDtdNMjZ1hs1il5J4&151214&160105; LHTturn=24; ptisp=ctc; RK=hRWyd82Gd8; pgv_pvi=7567882240; image_md5=bd21d5fb2f401b37cf3a02724dc06545; LTPturn=27; pt2gguin=o0583115900; uin=o0583115900; skey=@Mp9aCinaO; ptcz=10d4b1b7bde835d64663338a8008fd4f81e2c6b5f0ba81a90da3627ee617c7ee; pgv_info=ssid=s4768939310; pgv_pvid=6872592818; o_cookie=583115900; lv_play_index_textAd=47; lv_play_indexl.=32; dc_vplaying=1; LKBturn=29; Lturn=29; adid=583115900; appuser=95621BA8CB862E09; o_minduid=phhdxyNLkxBWMa74VTm5zU4y5EbUv5vR; appuser_95621BA8CB862E09_0=2b7gwp=1453219199_6&2btemv=1455551999_1&2c8311=1453305599_3&2cfx4j=1453651199_3&2cfx9l=1453651199_1&2d49y9=1453823999_2&2d67kl=1454255999_2&2d69mf=1454255999_3&2dxv8l=1455465599_6&2dzhfl=1452614399_1&f_pogvwp=1452095999_1&f_pogvwv=1452095999_2&f_pogw0m=1452095999_1&fd_15bm2t7=1452095999_1&fd_1h2pbsd=1452095999_2&fd_1k6so62=1452095999_1&fd_rhmjmq=1452095999_2&m_roiw0t=1452095999_3&m_xty8wl=1452095999_1&pogree=1452095999_2; TX.boid=100655474=1452072582_1&701041365=1452072585_1; appuser_95621BA8CB862E09_effect_0=fd_1ez2rcc=1452095999_1&fd_qdh7zw=1452095999_1&fd_ul215j=1452095999_1; psessionid=ca7f9c5b_1452071982_583115900_30754; psessiontime=1452071990\r\n\r\n"
}
] \ No newline at end of file
diff --git a/test/decoders/http/benchmarks/json/http_get_multi_trans.json b/test/decoders/http/benchmarks/json/http_get_multi_trans.json
index 917b1c7..67781a4 100644
--- a/test/decoders/http/benchmarks/json/http_get_multi_trans.json
+++ b/test/decoders/http/benchmarks/json/http_get_multi_trans.json
@@ -18,7 +18,8 @@
"Accept-Encoding": "gzip, deflate",
"Accept-Language": "zh-CN,zh;q=0.9",
"Cookie": "Hm_lvt_1b8c1194303ef64e02f003f0cb8a1906=1653898514; _gcl_au=1.1.1010551181.1653898515; _ga=GA1.2.1419569885.1653898515; _gid=GA1.2.2007113907.1653898515; authtoken_pro=tea83b3beef07488bb8571811385db42; userId_pro=1160; pid_pro=1; eid_pro=1; pname_pro=name; Hm_lpvt_1b8c1194303ef64e02f003f0cb8a1906=1653961741; JSESSIONID=531AACA879469EDAB825E28113490E10",
- "__X_HTTP_URL": "test.pro.testin.cn/account/login.htm"
+ "__X_HTTP_URL": "test.pro.testin.cn/account/login.htm",
+ "__X_HTTP_HEADERS_INTERGRATION": "Host: test.pro.testin.cn\r\nConnection: keep-alive\r\nUpgrade-Insecure-Requests: 1\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9\r\nAccept-Encoding: gzip, deflate\r\nAccept-Language: zh-CN,zh;q=0.9\r\nCookie: Hm_lvt_1b8c1194303ef64e02f003f0cb8a1906=1653898514; _gcl_au=1.1.1010551181.1653898515; _ga=GA1.2.1419569885.1653898515; _gid=GA1.2.2007113907.1653898515; authtoken_pro=tea83b3beef07488bb8571811385db42; userId_pro=1160; pid_pro=1; eid_pro=1; pname_pro=name; Hm_lpvt_1b8c1194303ef64e02f003f0cb8a1906=1653961741; JSESSIONID=531AACA879469EDAB825E28113490E10\r\n\r\n"
},
{
"__X_HTTP_TRANSACTION": "response",
@@ -35,7 +36,8 @@
"Set-Cookie1": "authtoken_pro=tea83b3beef07488bb8571811385db42; Max-Age=28800; Expires=Tue, 31-May-2022 14:41:23 GMT; Domain=testin.cn; Path=/; HttpOnly",
"Set-Cookie2": "userId_pro=1160; Max-Age=28800; Expires=Tue, 31-May-2022 14:41:23 GMT; Domain=testin.cn; Path=/; HttpOnly",
"Location": "http://test.pro.testin.cn/enterprise/index.htm",
- "Content-Language": "zh-CN"
+ "Content-Language": "zh-CN",
+ "__X_HTTP_HEADERS_INTERGRATION": "Server: nginx/1.16.1\r\nDate: Tue, 31 May 2022 06:41:23 GMT\r\nContent-Length: 0\r\nConnection: keep-alive\r\nSet-Cookie: JSESSIONID=CFAB9C0C3F4D9D6C2837E3BA9425AFCA; Path=/; HttpOnly\r\nSet-Cookie: authtoken_pro=tea83b3beef07488bb8571811385db42; Max-Age=28800; Expires=Tue, 31-May-2022 14:41:23 GMT; Domain=testin.cn; Path=/; HttpOnly\r\nSet-Cookie: userId_pro=1160; Max-Age=28800; Expires=Tue, 31-May-2022 14:41:23 GMT; Domain=testin.cn; Path=/; HttpOnly\r\nLocation: http://test.pro.testin.cn/enterprise/index.htm\r\nContent-Language: zh-CN\r\n\r\n"
},
{
"__X_HTTP_TRANSACTION": "request",
@@ -53,7 +55,8 @@
"Accept-Encoding": "gzip, deflate",
"Accept-Language": "zh-CN,zh;q=0.9",
"Cookie": "Hm_lvt_1b8c1194303ef64e02f003f0cb8a1906=1653898514; _gcl_au=1.1.1010551181.1653898515; _ga=GA1.2.1419569885.1653898515; _gid=GA1.2.2007113907.1653898515; authtoken_pro=tea83b3beef07488bb8571811385db42; userId_pro=1160; pid_pro=1; eid_pro=1; pname_pro=name; Hm_lpvt_1b8c1194303ef64e02f003f0cb8a1906=1653961741; JSESSIONID=CFAB9C0C3F4D9D6C2837E3BA9425AFCA",
- "__X_HTTP_URL": "test.pro.testin.cn/enterprise/index.htm"
+ "__X_HTTP_URL": "test.pro.testin.cn/enterprise/index.htm",
+ "__X_HTTP_HEADERS_INTERGRATION": "Host: test.pro.testin.cn\r\nConnection: keep-alive\r\nUpgrade-Insecure-Requests: 1\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9\r\nAccept-Encoding: gzip, deflate\r\nAccept-Language: zh-CN,zh;q=0.9\r\nCookie: Hm_lvt_1b8c1194303ef64e02f003f0cb8a1906=1653898514; _gcl_au=1.1.1010551181.1653898515; _ga=GA1.2.1419569885.1653898515; _gid=GA1.2.2007113907.1653898515; authtoken_pro=tea83b3beef07488bb8571811385db42; userId_pro=1160; pid_pro=1; eid_pro=1; pname_pro=name; Hm_lpvt_1b8c1194303ef64e02f003f0cb8a1906=1653961741; JSESSIONID=CFAB9C0C3F4D9D6C2837E3BA9425AFCA\r\n\r\n"
},
{
"__X_HTTP_TRANSACTION": "response",
@@ -69,7 +72,8 @@
"Set-Cookie": "authtoken_pro=tea83b3beef07488bb8571811385db42; Max-Age=28800; Expires=Tue, 31-May-2022 14:41:23 GMT; Domain=testin.cn; Path=/; HttpOnly",
"Set-Cookie1": "userId_pro=1160; Max-Age=28800; Expires=Tue, 31-May-2022 14:41:23 GMT; Domain=testin.cn; Path=/; HttpOnly",
"Location": "http://test.pro.testin.cn/enterprise/into.htm?eid=1",
- "Content-Language": "zh-CN"
+ "Content-Language": "zh-CN",
+ "__X_HTTP_HEADERS_INTERGRATION": "Server: nginx/1.16.1\r\nDate: Tue, 31 May 2022 06:41:23 GMT\r\nContent-Length: 0\r\nConnection: keep-alive\r\nSet-Cookie: authtoken_pro=tea83b3beef07488bb8571811385db42; Max-Age=28800; Expires=Tue, 31-May-2022 14:41:23 GMT; Domain=testin.cn; Path=/; HttpOnly\r\nSet-Cookie: userId_pro=1160; Max-Age=28800; Expires=Tue, 31-May-2022 14:41:23 GMT; Domain=testin.cn; Path=/; HttpOnly\r\nLocation: http://test.pro.testin.cn/enterprise/into.htm?eid=1\r\nContent-Language: zh-CN\r\n\r\n"
},
{
"__X_HTTP_TRANSACTION": "request",
@@ -87,7 +91,8 @@
"Accept-Encoding": "gzip, deflate",
"Accept-Language": "zh-CN,zh;q=0.9",
"Cookie": "Hm_lvt_1b8c1194303ef64e02f003f0cb8a1906=1653898514; _gcl_au=1.1.1010551181.1653898515; _ga=GA1.2.1419569885.1653898515; _gid=GA1.2.2007113907.1653898515; authtoken_pro=tea83b3beef07488bb8571811385db42; userId_pro=1160; pid_pro=1; eid_pro=1; pname_pro=name; Hm_lpvt_1b8c1194303ef64e02f003f0cb8a1906=1653961741; JSESSIONID=CFAB9C0C3F4D9D6C2837E3BA9425AFCA",
- "__X_HTTP_URL": "test.pro.testin.cn/enterprise/into.htm?eid=1"
+ "__X_HTTP_URL": "test.pro.testin.cn/enterprise/into.htm?eid=1",
+ "__X_HTTP_HEADERS_INTERGRATION": "Host: test.pro.testin.cn\r\nConnection: keep-alive\r\nUpgrade-Insecure-Requests: 1\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9\r\nAccept-Encoding: gzip, deflate\r\nAccept-Language: zh-CN,zh;q=0.9\r\nCookie: Hm_lvt_1b8c1194303ef64e02f003f0cb8a1906=1653898514; _gcl_au=1.1.1010551181.1653898515; _ga=GA1.2.1419569885.1653898515; _gid=GA1.2.2007113907.1653898515; authtoken_pro=tea83b3beef07488bb8571811385db42; userId_pro=1160; pid_pro=1; eid_pro=1; pname_pro=name; Hm_lpvt_1b8c1194303ef64e02f003f0cb8a1906=1653961741; JSESSIONID=CFAB9C0C3F4D9D6C2837E3BA9425AFCA\r\n\r\n"
},
{
"__X_HTTP_TRANSACTION": "response",
@@ -103,7 +108,8 @@
"Set-Cookie": "authtoken_pro=tea83b3beef07488bb8571811385db42; Max-Age=28800; Expires=Tue, 31-May-2022 14:41:23 GMT; Domain=testin.cn; Path=/; HttpOnly",
"Set-Cookie1": "userId_pro=1160; Max-Age=28800; Expires=Tue, 31-May-2022 14:41:23 GMT; Domain=testin.cn; Path=/; HttpOnly",
"Location": "http://test.pro.testin.cn/realmachine/index.htm",
- "Content-Language": "zh-CN"
+ "Content-Language": "zh-CN",
+ "__X_HTTP_HEADERS_INTERGRATION": "Server: nginx/1.16.1\r\nDate: Tue, 31 May 2022 06:41:23 GMT\r\nContent-Length: 0\r\nConnection: keep-alive\r\nSet-Cookie: authtoken_pro=tea83b3beef07488bb8571811385db42; Max-Age=28800; Expires=Tue, 31-May-2022 14:41:23 GMT; Domain=testin.cn; Path=/; HttpOnly\r\nSet-Cookie: userId_pro=1160; Max-Age=28800; Expires=Tue, 31-May-2022 14:41:23 GMT; Domain=testin.cn; Path=/; HttpOnly\r\nLocation: http://test.pro.testin.cn/realmachine/index.htm\r\nContent-Language: zh-CN\r\n\r\n"
},
{
"__X_HTTP_TRANSACTION": "request",
@@ -121,7 +127,8 @@
"Accept-Encoding": "gzip, deflate",
"Accept-Language": "zh-CN,zh;q=0.9",
"Cookie": "Hm_lvt_1b8c1194303ef64e02f003f0cb8a1906=1653898514; _gcl_au=1.1.1010551181.1653898515; _ga=GA1.2.1419569885.1653898515; _gid=GA1.2.2007113907.1653898515; authtoken_pro=tea83b3beef07488bb8571811385db42; userId_pro=1160; pid_pro=1; eid_pro=1; pname_pro=name; Hm_lpvt_1b8c1194303ef64e02f003f0cb8a1906=1653961741; JSESSIONID=CFAB9C0C3F4D9D6C2837E3BA9425AFCA",
- "__X_HTTP_URL": "test.pro.testin.cn/realmachine/index.htm"
+ "__X_HTTP_URL": "test.pro.testin.cn/realmachine/index.htm",
+ "__X_HTTP_HEADERS_INTERGRATION": "Host: test.pro.testin.cn\r\nConnection: keep-alive\r\nUpgrade-Insecure-Requests: 1\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9\r\nAccept-Encoding: gzip, deflate\r\nAccept-Language: zh-CN,zh;q=0.9\r\nCookie: Hm_lvt_1b8c1194303ef64e02f003f0cb8a1906=1653898514; _gcl_au=1.1.1010551181.1653898515; _ga=GA1.2.1419569885.1653898515; _gid=GA1.2.2007113907.1653898515; authtoken_pro=tea83b3beef07488bb8571811385db42; userId_pro=1160; pid_pro=1; eid_pro=1; pname_pro=name; Hm_lpvt_1b8c1194303ef64e02f003f0cb8a1906=1653961741; JSESSIONID=CFAB9C0C3F4D9D6C2837E3BA9425AFCA\r\n\r\n"
},
{
"__X_HTTP_TRANSACTION": "response",
@@ -143,7 +150,8 @@
"Set-Cookie4": "pname_pro=name; Max-Age=28800; Expires=Tue, 31-May-2022 14:41:23 GMT; Domain=testin.cn; Path=/; HttpOnly",
"Content-Language": "zh-CN",
"Content-Encoding": "gzip",
- "__X_HTTP_RAW_PAYLOAD_MD5": "5d761720e42f13d01ba981fb19b850ca",
- "__X_HTTP_DECOMPRESS_PAYLOAD_MD5": "39cb5f3a9cbcfbd16f66e040ec49b8c4"
+ "__X_HTTP_HEADERS_INTERGRATION": "Server: nginx/1.16.1\r\nDate: Tue, 31 May 2022 06:41:23 GMT\r\nContent-Type: text/html;charset=UTF-8\r\nTransfer-Encoding: chunked\r\nConnection: keep-alive\r\nVary: Accept-Encoding\r\nSet-Cookie: authtoken_pro=tea83b3beef07488bb8571811385db42; Max-Age=28800; Expires=Tue, 31-May-2022 14:41:23 GMT; Domain=testin.cn; Path=/; HttpOnly\r\nSet-Cookie: userId_pro=1160; Max-Age=28800; Expires=Tue, 31-May-2022 14:41:23 GMT; Domain=testin.cn; Path=/; HttpOnly\r\nSet-Cookie: pid_pro=1; Max-Age=28800; Expires=Tue, 31-May-2022 14:41:23 GMT; Domain=testin.cn; Path=/; HttpOnly\r\nSet-Cookie: eid_pro=1; Max-Age=28800; Expires=Tue, 31-May-2022 14:41:23 GMT; Domain=testin.cn; Path=/; HttpOnly\r\nSet-Cookie: pname_pro=name; Max-Age=28800; Expires=Tue, 31-May-2022 14:41:23 GMT; Domain=testin.cn; Path=/; HttpOnly\r\nContent-Language: zh-CN\r\nContent-Encoding: gzip\r\n\r\n",
+ "__X_HTTP_RAW_PAYLOAD_MD5": "5d761720e42f13d01ba981fb19b850ca",
+ "__X_HTTP_DECOMPRESS_PAYLOAD_MD5": "39cb5f3a9cbcfbd16f66e040ec49b8c4"
}
] \ No newline at end of file
diff --git a/test/decoders/http/benchmarks/json/http_get_req_pipeline.json b/test/decoders/http/benchmarks/json/http_get_req_pipeline.json
index af8ff75..7ea2b37 100644
--- a/test/decoders/http/benchmarks/json/http_get_req_pipeline.json
+++ b/test/decoders/http/benchmarks/json/http_get_req_pipeline.json
@@ -16,7 +16,8 @@
"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1636.2 Safari/537.36",
"Accept-Encoding": "gzip,deflate,sdch",
"Accept-Language": "zh-CN,zh;q=0.8",
- "__X_HTTP_URL": "113.31.27.226/aa.mp4?asf=sdaf"
+ "__X_HTTP_URL": "113.31.27.226/aa.mp4?asf=sdaf",
+ "__X_HTTP_HEADERS_INTERGRATION": "Host: 113.31.27.226\r\nConnection: keep-alive\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8\r\nUser-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1636.2 Safari/537.36\r\nAccept-Encoding: gzip,deflate,sdch\r\nAccept-Language: zh-CN,zh;q=0.8\r\n\r\n"
},
{
"__X_HTTP_TRANSACTION": "request",
@@ -32,7 +33,8 @@
"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1636.2 Safari/537.36",
"Accept-Encoding": "gzip,deflate,sdch",
"Accept-Language": "zh-CN,zh;q=0.8",
- "__X_HTTP_URL": "ns.pb.cachecn.net/fetch_ldns.png"
+ "__X_HTTP_URL": "ns.pb.cachecn.net/fetch_ldns.png",
+ "__X_HTTP_HEADERS_INTERGRATION": "Host: ns.pb.cachecn.net\r\nConnection: keep-alive\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8\r\nUser-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1636.2 Safari/537.36\r\nAccept-Encoding: gzip,deflate,sdch\r\nAccept-Language: zh-CN,zh;q=0.8\r\n\r\n"
},
{
"__X_HTTP_TRANSACTION": "request",
@@ -48,7 +50,8 @@
"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1636.2 Safari/537.36",
"Accept-Encoding": "gzip,deflate,sdch",
"Accept-Language": "zh-CN,zh;q=0.8",
- "__X_HTTP_URL": "ns.pb.cachecn.net/40x.jpg"
+ "__X_HTTP_URL": "ns.pb.cachecn.net/40x.jpg",
+ "__X_HTTP_HEADERS_INTERGRATION": "Host: ns.pb.cachecn.net\r\nConnection: keep-alive\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8\r\nUser-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1636.2 Safari/537.36\r\nAccept-Encoding: gzip,deflate,sdch\r\nAccept-Language: zh-CN,zh;q=0.8\r\n\r\n"
},
{
"__X_HTTP_TRANSACTION": "response",
@@ -62,7 +65,7 @@
"Date": "Wed, 25 Oct 2023 06:43:35 GMT",
"Content-Type": "text/html",
"Connection": "close",
- "__X_HTTP_RAW_PAYLOAD_MD5": "6fb335f443cfc8a9d952d27cf3dc1059",
- "__X_HTTP_DECOMPRESS_PAYLOAD_MD5": "6fb335f443cfc8a9d952d27cf3dc1059"
+ "__X_HTTP_HEADERS_INTERGRATION": "Server: SimpleHTTP/0.6 Python/2.7.5\r\nDate: Wed, 25 Oct 2023 06:43:35 GMT\r\nContent-Type: text/html\r\nConnection: close\r\n\r\n",
+ "__X_HTTP_RAW_PAYLOAD_MD5": "6fb335f443cfc8a9d952d27cf3dc1059"
}
] \ No newline at end of file
diff --git a/test/decoders/http/benchmarks/json/http_get_single_trans.json b/test/decoders/http/benchmarks/json/http_get_single_trans.json
index 165bb65..0d963d9 100644
--- a/test/decoders/http/benchmarks/json/http_get_single_trans.json
+++ b/test/decoders/http/benchmarks/json/http_get_single_trans.json
@@ -13,7 +13,8 @@
"Host": "192.168.40.137",
"User-Agent": "curl/7.79.1",
"Accept": "*/*",
- "__X_HTTP_URL": "192.168.40.137/index.html"
+ "__X_HTTP_URL": "192.168.40.137/index.html",
+ "__X_HTTP_HEADERS_INTERGRATION": "Host: 192.168.40.137\r\nUser-Agent: curl/7.79.1\r\nAccept: */*\r\n\r\n"
},
{
"__X_HTTP_TRANSACTION": "response",
@@ -28,7 +29,7 @@
"Content-type": "text/html",
"Content-Length": "144",
"Last-Modified": "Thu, 30 Nov 2023 08:38:54 GMT",
- "__X_HTTP_RAW_PAYLOAD_MD5": "3e11876cd3a234541ae37d833c088a76",
- "__X_HTTP_DECOMPRESS_PAYLOAD_MD5": "3e11876cd3a234541ae37d833c088a76"
+ "__X_HTTP_HEADERS_INTERGRATION": "Server: SimpleHTTP/0.6 Python/2.7.5\r\nDate: Thu, 30 Nov 2023 08:42:24 GMT\r\nContent-type: text/html\r\nContent-Length: 144\r\nLast-Modified: Thu, 30 Nov 2023 08:38:54 GMT\r\n\r\n",
+ "__X_HTTP_RAW_PAYLOAD_MD5": "3e11876cd3a234541ae37d833c088a76"
}
] \ No newline at end of file
diff --git a/test/decoders/http/benchmarks/json/http_gzip_out_of_order.json b/test/decoders/http/benchmarks/json/http_gzip_out_of_order.json
index 1952b9d..8cb17eb 100644
--- a/test/decoders/http/benchmarks/json/http_gzip_out_of_order.json
+++ b/test/decoders/http/benchmarks/json/http_gzip_out_of_order.json
@@ -18,7 +18,8 @@
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
"Accept-Encoding": "gzip, deflate",
"Accept-Language": "zh-CN,zh;q=0.9",
- "__X_HTTP_URL": "192.168.40.139:8088/"
+ "__X_HTTP_URL": "192.168.40.139:8088/",
+ "__X_HTTP_HEADERS_INTERGRATION": "Host: 192.168.40.139:8088\r\nConnection: keep-alive\r\nDNT: 1\r\nUpgrade-Insecure-Requests: 1\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7\r\nAccept-Encoding: gzip, deflate\r\nAccept-Language: zh-CN,zh;q=0.9\r\n\r\n"
},
{
"__X_HTTP_TRANSACTION": "response",
@@ -33,7 +34,8 @@
"Content-type": "text/html; charset=utf-8",
"Content-Encoding": "gzip",
"Content-length": "28425",
- "__X_HTTP_RAW_PAYLOAD_MD5": "873ed9c8c691a5f9f144fbf0fbfca011",
- "__X_HTTP_DECOMPRESS_PAYLOAD_MD5": "7047cf4ae8ce6fd7bcd363e2b626f338"
+ "__X_HTTP_HEADERS_INTERGRATION": "Server: BaseHTTP/0.6 Python/3.6.8\r\nDate: Tue, 13 Aug 2024 14:21:42 GMT\r\nContent-type: text/html; charset=utf-8\r\nContent-Encoding: gzip\r\nContent-length: 28425\r\n\r\n",
+ "__X_HTTP_RAW_PAYLOAD_MD5": "873ed9c8c691a5f9f144fbf0fbfca011",
+ "__X_HTTP_DECOMPRESS_PAYLOAD_MD5": "7047cf4ae8ce6fd7bcd363e2b626f338"
}
] \ No newline at end of file
diff --git a/test/decoders/http/benchmarks/json/http_hdrs_exceed_maximum.json b/test/decoders/http/benchmarks/json/http_hdrs_exceed_maximum.json
index 9bc751b..0aa3281 100644
--- a/test/decoders/http/benchmarks/json/http_hdrs_exceed_maximum.json
+++ b/test/decoders/http/benchmarks/json/http_hdrs_exceed_maximum.json
@@ -1,51 +1,48 @@
-[
- {
- "__X_HTTP_TUPLE4": "10.0.0.1:61462-10.0.0.2:80-6-0"
- },
- {
- "__X_HTTP_TRANSACTION": "request",
- "__X_HTTP_TRANSACTION_SEQ": 0,
- "method": "GET",
- "uri": "/x/xx/xxxxxxxxxxxxxxxxxxx/x/xxxxxx/xxxxxxxxxxxxxxx?xxx=1&xxx=1&x=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&vmf=xxxxxxxxxx.xxx.xxx.xxx&ce=UTF-8&ns=xxxxxxxxxx&pageName=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&g=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.jsp&r=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&events=xxxxxxxxxxxxxxxxxxxxxxxxxxx&products=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&v1=xxxxxxxxxxxxxxx&v2=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&v17=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx_cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&c49=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&AQE=1",
- "req_version": "1.1",
- "major_version": 1,
- "minor_version": 1,
- "Host": "xxxxx.xxxxxxxx.xxxxxxxxxx.xxx",
- "Connection": "keep-alive",
- "Accept": "image/webp,*/*;q=0.8",
- "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36",
- "Referer": "http://www.xxxxxxxxxx.xxx/xx/xxxxxxxxxxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxxxxx.jsp",
- "Accept-Encoding": "gzip,deflate,sdch",
- "Accept-Language": "en-US,en;q=0.8,en-GB;q=0.6",
- "__X_HTTP_URL": "xxxxx.xxxxxxxx.xxxxxxxxxx.xxx/x/xx/xxxxxxxxxxxxxxxxxxx/x/xxxxxx/xxxxxxxxxxxxxxx?xxx=1&xxx=1&x=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&vmf=xxxxxxxxxx.xxx.xxx.xxx&ce=UTF-8&ns=xxxxxxxxxx&pageName=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&g=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.jsp&r=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&events=xxxxxxxxxxxxxxxxxxxxxxxxxxx&products=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&v1=xxxxxxxxxxxxxxx&v2=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&v17=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx_cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&c49=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&AQE=1",
- "Cookie": "xxxxxxxxxxxxxxxxxxx=ie; xxxxxxxxxxxxxxxxxxxxxx=true; lp=xxxxxx; rememberUn=false; xxx.xxxxxxxxxx.xxxxxxxxxx=xx; xxxxx=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; autocomplete=1; xxxx=xxxx; xxxx=xxxxv1|xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; xxxxxx=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx2xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
- },
- {
- "__X_HTTP_TRANSACTION": "response",
- "__X_HTTP_TRANSACTION_SEQ": 0,
- "res_version": "1.1",
- "res_status": "OK",
- "major_version": 1,
- "minor_version": 1,
- "status_code": 200,
- "Date": "Mon, 30 Jun 2014 13:35:21 GMT",
- "Server": "xxxxxxxxxxxxxxxxx",
- "Access-Control-Allow-Origin": "*",
- "Set-Cookie": "xxxx=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; Expires=Wed, 29 Jun 2016 13:35:21 GMT; Domain=.xxxxxxxxxx.xxx; Path=/",
- "X-C": "ms-4.9",
- "Expires": "Sun, 29 Jun 2014 13:35:21 GMT",
- "Last-Modified": "Tue, 01 Jul 2014 13:35:21 GMT",
- "Cache-Control": "no-cache, no-store, max-age=0, no-transform, private",
- "Pragma": "no-cache",
- "ETag": "\"xxxxxxxxxxxxxxxxxxxxxx\"",
- "Vary": "*",
- "P3P": "policyref=\"/w3c/p3p.xml\", CP=\"NOI DSP COR NID PSA OUR IND COM NAV STA\"",
- "xserver": "xxxxxx",
- "Content-Length": "43",
- "Keep-Alive": "timeout=15",
- "Connection": "Keep-Alive",
- "Content-Type": "image/gif",
- "__X_HTTP_RAW_PAYLOAD_MD5": "ad480fd0732d0f6f1a8b06359e3a42bb",
- "__X_HTTP_DECOMPRESS_PAYLOAD_MD5": "ad480fd0732d0f6f1a8b06359e3a42bb"
- }
-] \ No newline at end of file
+[{
+ "__X_HTTP_TUPLE4": "10.0.0.1:61462-10.0.0.2:80-6-0"
+ }, {
+ "__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 0,
+ "method": "GET",
+ "uri": "/x/xx/xxxxxxxxxxxxxxxxxxx/x/xxxxxx/xxxxxxxxxxxxxxx?xxx=1&xxx=1&x=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&vmf=xxxxxxxxxx.xxx.xxx.xxx&ce=UTF-8&ns=xxxxxxxxxx&pageName=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&g=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.jsp&r=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&events=xxxxxxxxxxxxxxxxxxxxxxxxxxx&products=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&v1=xxxxxxxxxxxxxxx&v2=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&v17=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx_cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&c49=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&AQE=1",
+ "req_version": "1.1",
+ "major_version": 1,
+ "minor_version": 1,
+ "Host": "xxxxx.xxxxxxxx.xxxxxxxxxx.xxx",
+ "Connection": "keep-alive",
+ "Accept": "image/webp,*/*;q=0.8",
+ "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36",
+ "Referer": "http://www.xxxxxxxxxx.xxx/xx/xxxxxxxxxxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxxxxx.jsp",
+ "Accept-Encoding": "gzip,deflate,sdch",
+ "Accept-Language": "en-US,en;q=0.8,en-GB;q=0.6",
+ "Cookie": "xxxxxxxxxxxxxxxxxxx=ie; xxxxxxxxxxxxxxxxxxxxxx=true; lp=xxxxxx; rememberUn=false; xxx.xxxxxxxxxx.xxxxxxxxxx=xx; xxxxx=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; autocomplete=1; xxxx=xxxx; xxxx=xxxxv1|xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; xxxxxx=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx2xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
+ "__X_HTTP_URL": "xxxxx.xxxxxxxx.xxxxxxxxxx.xxx/x/xx/xxxxxxxxxxxxxxxxxxx/x/xxxxxx/xxxxxxxxxxxxxxx?xxx=1&xxx=1&x=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&vmf=xxxxxxxxxx.xxx.xxx.xxx&ce=UTF-8&ns=xxxxxxxxxx&pageName=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&g=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.jsp&r=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&events=xxxxxxxxxxxxxxxxxxxxxxxxxxx&products=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&v1=xxxxxxxxxxxxxxx&v2=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&v17=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx_cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&c49=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&AQE=1",
+ "__X_HTTP_HEADERS_INTERGRATION": "Host: xxxxx.xxxxxxxx.xxxxxxxxxx.xxx\r\nConnection: keep-alive\r\nAccept: image/webp,*/*;q=0.8\r\nUser-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36\r\nReferer: http://www.xxxxxxxxxx.xxx/xx/xxxxxxxxxxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxxxxx.jsp\r\nAccept-Encoding: gzip,deflate,sdch\r\nAccept-Language: en-US,en;q=0.8,en-GB;q=0.6\r\nCookie: xxxxxxxxxxxxxxxxxxx=ie; xxxxxxxxxxxxxxxxxxxxxx=true; lp=xxxxxx; rememberUn=false; xxx.xxxxxxxxxx.xxxxxxxxxx=xx; xxxxx=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; autocomplete=1; xxxx=xxxx; xxxx=xxxxv1|xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; xxxxxx=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx2xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\r\n\r\n"
+ }, {
+ "__X_HTTP_TRANSACTION": "response",
+ "__X_HTTP_TRANSACTION_SEQ": 0,
+ "res_version": "1.1",
+ "res_status": "OK",
+ "major_version": 1,
+ "minor_version": 1,
+ "status_code": 200,
+ "Date": "Mon, 30 Jun 2014 13:35:21 GMT",
+ "Server": "xxxxxxxxxxxxxxxxx",
+ "Access-Control-Allow-Origin": "*",
+ "Set-Cookie": "xxxx=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; Expires=Wed, 29 Jun 2016 13:35:21 GMT; Domain=.xxxxxxxxxx.xxx; Path=/",
+ "X-C": "ms-4.9",
+ "Expires": "Sun, 29 Jun 2014 13:35:21 GMT",
+ "Last-Modified": "Tue, 01 Jul 2014 13:35:21 GMT",
+ "Cache-Control": "no-cache, no-store, max-age=0, no-transform, private",
+ "Pragma": "no-cache",
+ "ETag": "\"xxxxxxxxxxxxxxxxxxxxxx\"",
+ "Vary": "*",
+ "P3P": "policyref=\"/w3c/p3p.xml\", CP=\"NOI DSP COR NID PSA OUR IND COM NAV STA\"",
+ "xserver": "xxxxxx",
+ "Content-Length": "43",
+ "Keep-Alive": "timeout=15",
+ "Connection": "Keep-Alive",
+ "Content-Type": "image/gif",
+ "__X_HTTP_HEADERS_INTERGRATION": "Date: Mon, 30 Jun 2014 13:35:21 GMT\r\nServer: xxxxxxxxxxxxxxxxx\r\nAccess-Control-Allow-Origin: *\r\nSet-Cookie: xxxx=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; Expires=Wed, 29 Jun 2016 13:35:21 GMT; Domain=.xxxxxxxxxx.xxx; Path=/\r\nX-C: ms-4.9\r\nExpires: Sun, 29 Jun 2014 13:35:21 GMT\r\nLast-Modified: Tue, 01 Jul 2014 13:35:21 GMT\r\nCache-Control: no-cache, no-store, max-age=0, no-transform, private\r\nPragma: no-cache\r\nETag: \"xxxxxxxxxxxxxxxxxxxxxx\"\r\nVary: *\r\nP3P: policyref=\"/w3c/p3p.xml\", CP=\"NOI DSP COR NID PSA OUR IND COM NAV STA\"\r\nxserver: xxxxxx\r\nContent-Length: 43\r\nKeep-Alive: timeout=15\r\nConnection: Keep-Alive\r\nContent-Type: image/gif\r\n\r\n",
+ "__X_HTTP_RAW_PAYLOAD_MD5": "ad480fd0732d0f6f1a8b06359e3a42bb"
+ }]
diff --git a/test/decoders/http/benchmarks/json/http_msg_type_state.json b/test/decoders/http/benchmarks/json/http_msg_type_state.json
index 5dc0564..31cd5ac 100644
--- a/test/decoders/http/benchmarks/json/http_msg_type_state.json
+++ b/test/decoders/http/benchmarks/json/http_msg_type_state.json
@@ -1,20 +1,16 @@
[
{
"msg_0": "HTTP_TRANSACTION_START_transaction_0",
- "msg_1": "HTTP_MESSAGE_REQ_LINE",
- "msg_2": "HTTP_MESSAGE_REQ_HEADER",
- "msg_3": "HTTP_MESSAGE_REQ_HEADER_END",
- "msg_4": "HTTP_MESSAGE_REQ_BODY_START",
- "msg_5": "HTTP_MESSAGE_REQ_BODY",
- "msg_6": "HTTP_MESSAGE_REQ_BODY_END"
+ "msg_1": "HTTP_MESSAGE_REQ_LINE_HEADERS",
+ "msg_2": "HTTP_MESSAGE_REQ_BODY_START",
+ "msg_3": "HTTP_MESSAGE_REQ_BODY",
+ "msg_4": "HTTP_MESSAGE_REQ_BODY_END"
},
{
- "msg_7": "HTTP_MESSAGE_RES_LINE",
- "msg_8": "HTTP_MESSAGE_RES_HEADER",
- "msg_9": "HTTP_MESSAGE_RES_HEADER_END",
- "msg_10": "HTTP_MESSAGE_RES_BODY_START",
- "msg_11": "HTTP_MESSAGE_RES_BODY",
- "msg_12": "HTTP_MESSAGE_RES_BODY_END",
- "msg_13": "HTTP_TRANSACTION_END_transaction_0"
+ "msg_5": "HTTP_MESSAGE_RES_LINE_HEADERS",
+ "msg_6": "HTTP_MESSAGE_RES_BODY_START",
+ "msg_7": "HTTP_MESSAGE_RES_BODY",
+ "msg_8": "HTTP_MESSAGE_RES_BODY_END",
+ "msg_9": "HTTP_TRANSACTION_END_transaction_0"
}
] \ No newline at end of file
diff --git a/test/decoders/http/benchmarks/json/http_msg_type_state_c2s.json b/test/decoders/http/benchmarks/json/http_msg_type_state_c2s.json
index 8533bb9..15385ad 100644
--- a/test/decoders/http/benchmarks/json/http_msg_type_state_c2s.json
+++ b/test/decoders/http/benchmarks/json/http_msg_type_state_c2s.json
@@ -1,13 +1,11 @@
[
{
"msg_0": "HTTP_TRANSACTION_START_transaction_0",
- "msg_1": "HTTP_MESSAGE_REQ_LINE",
- "msg_2": "HTTP_MESSAGE_REQ_HEADER",
- "msg_3": "HTTP_MESSAGE_REQ_HEADER_END",
- "msg_4": "HTTP_MESSAGE_REQ_BODY_START",
- "msg_5": "HTTP_MESSAGE_REQ_BODY",
- "msg_6": "HTTP_MESSAGE_REQ_BODY_END",
- "msg_7": "HTTP_TRANSACTION_END_transaction_0"
+ "msg_1": "HTTP_MESSAGE_REQ_LINE_HEADERS",
+ "msg_2": "HTTP_MESSAGE_REQ_BODY_START",
+ "msg_3": "HTTP_MESSAGE_REQ_BODY",
+ "msg_4": "HTTP_MESSAGE_REQ_BODY_END",
+ "msg_5": "HTTP_TRANSACTION_END_transaction_0"
},
{}
] \ No newline at end of file
diff --git a/test/decoders/http/benchmarks/json/http_msg_type_state_exception_c2s.json b/test/decoders/http/benchmarks/json/http_msg_type_state_exception_c2s.json
index e694238..c78cf34 100644
--- a/test/decoders/http/benchmarks/json/http_msg_type_state_exception_c2s.json
+++ b/test/decoders/http/benchmarks/json/http_msg_type_state_exception_c2s.json
@@ -1,13 +1,11 @@
[
{
"msg_0": "HTTP_TRANSACTION_START_transaction_0",
- "msg_1": "HTTP_MESSAGE_REQ_LINE",
- "msg_2": "HTTP_MESSAGE_REQ_HEADER",
- "msg_3": "HTTP_MESSAGE_REQ_HEADER_END",
- "msg_4": "HTTP_MESSAGE_REQ_BODY_START",
- "msg_5": "HTTP_MESSAGE_REQ_BODY"
+ "msg_1": "HTTP_MESSAGE_REQ_LINE_HEADERS",
+ "msg_2": "HTTP_MESSAGE_REQ_BODY_START",
+ "msg_3": "HTTP_MESSAGE_REQ_BODY"
},
{
- "msg_6": "HTTP_TRANSACTION_END_transaction_0"
+ "msg_4": "HTTP_TRANSACTION_END_transaction_0"
}
] \ No newline at end of file
diff --git a/test/decoders/http/benchmarks/json/http_msg_type_state_exception_s2c.json b/test/decoders/http/benchmarks/json/http_msg_type_state_exception_s2c.json
index cf03270..a7c9865 100644
--- a/test/decoders/http/benchmarks/json/http_msg_type_state_exception_s2c.json
+++ b/test/decoders/http/benchmarks/json/http_msg_type_state_exception_s2c.json
@@ -1,16 +1,12 @@
[
{
"msg_0": "HTTP_TRANSACTION_START_transaction_0",
- "msg_1": "HTTP_MESSAGE_REQ_LINE",
- "msg_2": "HTTP_MESSAGE_REQ_HEADER",
- "msg_3": "HTTP_MESSAGE_REQ_HEADER_END"
+ "msg_1": "HTTP_MESSAGE_REQ_LINE_HEADERS"
},
{
- "msg_4": "HTTP_MESSAGE_RES_LINE",
- "msg_5": "HTTP_MESSAGE_RES_HEADER",
- "msg_6": "HTTP_MESSAGE_RES_HEADER_END",
- "msg_7": "HTTP_MESSAGE_RES_BODY_START",
- "msg_8": "HTTP_MESSAGE_RES_BODY",
- "msg_9": "HTTP_TRANSACTION_END_transaction_0"
+ "msg_2": "HTTP_MESSAGE_RES_LINE_HEADERS",
+ "msg_3": "HTTP_MESSAGE_RES_BODY_START",
+ "msg_4": "HTTP_MESSAGE_RES_BODY",
+ "msg_5": "HTTP_TRANSACTION_END_transaction_0"
}
] \ No newline at end of file
diff --git a/test/decoders/http/benchmarks/json/http_msg_type_state_pipeline.json b/test/decoders/http/benchmarks/json/http_msg_type_state_pipeline.json
index d50f4ac..4028c0f 100644
--- a/test/decoders/http/benchmarks/json/http_msg_type_state_pipeline.json
+++ b/test/decoders/http/benchmarks/json/http_msg_type_state_pipeline.json
@@ -1,61 +1,45 @@
[
{
"msg_0": "HTTP_TRANSACTION_START_transaction_0",
- "msg_1": "HTTP_MESSAGE_REQ_LINE",
- "msg_2": "HTTP_MESSAGE_REQ_HEADER",
- "msg_3": "HTTP_MESSAGE_REQ_HEADER_END",
- "msg_8": "HTTP_TRANSACTION_START_transaction_1",
- "msg_9": "HTTP_MESSAGE_REQ_LINE",
- "msg_10": "HTTP_MESSAGE_REQ_HEADER",
- "msg_11": "HTTP_MESSAGE_REQ_HEADER_END",
- "msg_16": "HTTP_TRANSACTION_START_transaction_2",
- "msg_17": "HTTP_MESSAGE_REQ_LINE",
- "msg_18": "HTTP_MESSAGE_REQ_HEADER",
- "msg_19": "HTTP_MESSAGE_REQ_HEADER_END",
- "msg_24": "HTTP_TRANSACTION_START_transaction_3",
- "msg_25": "HTTP_MESSAGE_REQ_LINE",
- "msg_26": "HTTP_MESSAGE_REQ_HEADER",
- "msg_27": "HTTP_MESSAGE_REQ_HEADER_END"
+ "msg_1": "HTTP_MESSAGE_REQ_LINE_HEADERS",
+ "msg_4": "HTTP_TRANSACTION_START_transaction_1",
+ "msg_5": "HTTP_MESSAGE_REQ_LINE_HEADERS",
+ "msg_8": "HTTP_TRANSACTION_START_transaction_2",
+ "msg_9": "HTTP_MESSAGE_REQ_LINE_HEADERS",
+ "msg_12": "HTTP_TRANSACTION_START_transaction_3",
+ "msg_13": "HTTP_MESSAGE_REQ_LINE_HEADERS"
},
{
- "msg_4": "HTTP_MESSAGE_RES_LINE",
- "msg_5": "HTTP_MESSAGE_RES_HEADER",
- "msg_6": "HTTP_MESSAGE_RES_HEADER_END",
- "msg_7": "HTTP_TRANSACTION_END_transaction_0",
- "msg_12": "HTTP_MESSAGE_RES_LINE",
- "msg_13": "HTTP_MESSAGE_RES_HEADER",
- "msg_14": "HTTP_MESSAGE_RES_HEADER_END",
- "msg_15": "HTTP_TRANSACTION_END_transaction_1",
- "msg_20": "HTTP_MESSAGE_RES_LINE",
- "msg_21": "HTTP_MESSAGE_RES_HEADER",
- "msg_22": "HTTP_MESSAGE_RES_HEADER_END",
- "msg_23": "HTTP_TRANSACTION_END_transaction_2",
- "msg_28": "HTTP_MESSAGE_RES_LINE",
- "msg_29": "HTTP_MESSAGE_RES_HEADER",
- "msg_30": "HTTP_MESSAGE_RES_HEADER_END",
- "msg_31": "HTTP_MESSAGE_RES_BODY_START",
+ "msg_2": "HTTP_MESSAGE_RES_LINE_HEADERS",
+ "msg_3": "HTTP_TRANSACTION_END_transaction_0",
+ "msg_6": "HTTP_MESSAGE_RES_LINE_HEADERS",
+ "msg_7": "HTTP_TRANSACTION_END_transaction_1",
+ "msg_10": "HTTP_MESSAGE_RES_LINE_HEADERS",
+ "msg_11": "HTTP_TRANSACTION_END_transaction_2",
+ "msg_14": "HTTP_MESSAGE_RES_LINE_HEADERS",
+ "msg_15": "HTTP_MESSAGE_RES_BODY_START",
+ "msg_16": "HTTP_MESSAGE_RES_BODY",
+ "msg_17": "HTTP_MESSAGE_RES_BODY",
+ "msg_18": "HTTP_MESSAGE_RES_BODY",
+ "msg_19": "HTTP_MESSAGE_RES_BODY",
+ "msg_20": "HTTP_MESSAGE_RES_BODY",
+ "msg_21": "HTTP_MESSAGE_RES_BODY",
+ "msg_22": "HTTP_MESSAGE_RES_BODY",
+ "msg_23": "HTTP_MESSAGE_RES_BODY",
+ "msg_24": "HTTP_MESSAGE_RES_BODY",
+ "msg_25": "HTTP_MESSAGE_RES_BODY",
+ "msg_26": "HTTP_MESSAGE_RES_BODY",
+ "msg_27": "HTTP_MESSAGE_RES_BODY",
+ "msg_28": "HTTP_MESSAGE_RES_BODY",
+ "msg_29": "HTTP_MESSAGE_RES_BODY",
+ "msg_30": "HTTP_MESSAGE_RES_BODY",
+ "msg_31": "HTTP_MESSAGE_RES_BODY",
"msg_32": "HTTP_MESSAGE_RES_BODY",
"msg_33": "HTTP_MESSAGE_RES_BODY",
"msg_34": "HTTP_MESSAGE_RES_BODY",
"msg_35": "HTTP_MESSAGE_RES_BODY",
"msg_36": "HTTP_MESSAGE_RES_BODY",
- "msg_37": "HTTP_MESSAGE_RES_BODY",
- "msg_38": "HTTP_MESSAGE_RES_BODY",
- "msg_39": "HTTP_MESSAGE_RES_BODY",
- "msg_40": "HTTP_MESSAGE_RES_BODY",
- "msg_41": "HTTP_MESSAGE_RES_BODY",
- "msg_42": "HTTP_MESSAGE_RES_BODY",
- "msg_43": "HTTP_MESSAGE_RES_BODY",
- "msg_44": "HTTP_MESSAGE_RES_BODY",
- "msg_45": "HTTP_MESSAGE_RES_BODY",
- "msg_46": "HTTP_MESSAGE_RES_BODY",
- "msg_47": "HTTP_MESSAGE_RES_BODY",
- "msg_48": "HTTP_MESSAGE_RES_BODY",
- "msg_49": "HTTP_MESSAGE_RES_BODY",
- "msg_50": "HTTP_MESSAGE_RES_BODY",
- "msg_51": "HTTP_MESSAGE_RES_BODY",
- "msg_52": "HTTP_MESSAGE_RES_BODY",
- "msg_53": "HTTP_MESSAGE_RES_BODY_END",
- "msg_54": "HTTP_TRANSACTION_END_transaction_3"
+ "msg_37": "HTTP_MESSAGE_RES_BODY_END",
+ "msg_38": "HTTP_TRANSACTION_END_transaction_3"
}
] \ No newline at end of file
diff --git a/test/decoders/http/benchmarks/json/http_msg_type_state_s2c.json b/test/decoders/http/benchmarks/json/http_msg_type_state_s2c.json
index c59d0bb..92f9df0 100644
--- a/test/decoders/http/benchmarks/json/http_msg_type_state_s2c.json
+++ b/test/decoders/http/benchmarks/json/http_msg_type_state_s2c.json
@@ -2,12 +2,10 @@
{},
{
"msg_0": "HTTP_TRANSACTION_START_transaction_0",
- "msg_1": "HTTP_MESSAGE_RES_LINE",
- "msg_2": "HTTP_MESSAGE_RES_HEADER",
- "msg_3": "HTTP_MESSAGE_RES_HEADER_END",
- "msg_4": "HTTP_MESSAGE_RES_BODY_START",
- "msg_5": "HTTP_MESSAGE_RES_BODY",
- "msg_6": "HTTP_MESSAGE_RES_BODY_END",
- "msg_7": "HTTP_TRANSACTION_END_transaction_0"
+ "msg_1": "HTTP_MESSAGE_RES_LINE_HEADERS",
+ "msg_2": "HTTP_MESSAGE_RES_BODY_START",
+ "msg_3": "HTTP_MESSAGE_RES_BODY",
+ "msg_4": "HTTP_MESSAGE_RES_BODY_END",
+ "msg_5": "HTTP_TRANSACTION_END_transaction_0"
}
] \ No newline at end of file
diff --git a/test/decoders/http/benchmarks/json/http_msg_type_state_tunnel.json b/test/decoders/http/benchmarks/json/http_msg_type_state_tunnel.json
index 4a66f37..ad22440 100644
--- a/test/decoders/http/benchmarks/json/http_msg_type_state_tunnel.json
+++ b/test/decoders/http/benchmarks/json/http_msg_type_state_tunnel.json
@@ -3,20 +3,16 @@
"msg_0": "HTTP_TRANSACTION_START_transaction_0",
"msg_1": "HTTP_MESSAGE_REQ_LINE",
"msg_2": "HTTP_MESSAGE_REQ_HEADER",
- "msg_3": "HTTP_MESSAGE_REQ_HEADER_END",
"msg_8": "HTTP_TRANSACTION_START_transaction_1",
"msg_9": "HTTP_MESSAGE_REQ_LINE",
- "msg_10": "HTTP_MESSAGE_REQ_HEADER",
- "msg_11": "HTTP_MESSAGE_REQ_HEADER_END"
+ "msg_10": "HTTP_MESSAGE_REQ_HEADER"
},
{
"msg_4": "HTTP_MESSAGE_RES_LINE",
"msg_5": "HTTP_MESSAGE_RES_HEADER",
- "msg_6": "HTTP_MESSAGE_RES_HEADER_END",
"msg_7": "HTTP_TRANSACTION_END_transaction_0",
"msg_12": "HTTP_MESSAGE_RES_LINE",
"msg_13": "HTTP_MESSAGE_RES_HEADER",
- "msg_14": "HTTP_MESSAGE_RES_HEADER_END",
"msg_15": "HTTP_MESSAGE_RES_BODY",
"msg_16": "HTTP_MESSAGE_RES_BODY",
"msg_17": "HTTP_MESSAGE_RES_BODY",
diff --git a/test/decoders/http/benchmarks/json/http_msg_type_state_tunnel_c2s.json b/test/decoders/http/benchmarks/json/http_msg_type_state_tunnel_c2s.json
index 5b7e588..6f8857b 100644
--- a/test/decoders/http/benchmarks/json/http_msg_type_state_tunnel_c2s.json
+++ b/test/decoders/http/benchmarks/json/http_msg_type_state_tunnel_c2s.json
@@ -3,12 +3,10 @@
"msg_0": "HTTP_TRANSACTION_START_transaction_0",
"msg_1": "HTTP_MESSAGE_REQ_LINE",
"msg_2": "HTTP_MESSAGE_REQ_HEADER",
- "msg_3": "HTTP_MESSAGE_REQ_HEADER_END",
"msg_4": "HTTP_TRANSACTION_END_transaction_0",
"msg_5": "HTTP_TRANSACTION_START_transaction_1",
"msg_6": "HTTP_MESSAGE_REQ_LINE",
"msg_7": "HTTP_MESSAGE_REQ_HEADER",
- "msg_8": "HTTP_MESSAGE_REQ_HEADER_END",
"msg_9": "HTTP_TRANSACTION_END_transaction_1"
},
{}
diff --git a/test/decoders/http/benchmarks/json/http_msg_type_state_tunnel_s2c.json b/test/decoders/http/benchmarks/json/http_msg_type_state_tunnel_s2c.json
index 07a1451..66704f1 100644
--- a/test/decoders/http/benchmarks/json/http_msg_type_state_tunnel_s2c.json
+++ b/test/decoders/http/benchmarks/json/http_msg_type_state_tunnel_s2c.json
@@ -4,12 +4,10 @@
"msg_0": "HTTP_TRANSACTION_START_transaction_0",
"msg_1": "HTTP_MESSAGE_RES_LINE",
"msg_2": "HTTP_MESSAGE_RES_HEADER",
- "msg_3": "HTTP_MESSAGE_RES_HEADER_END",
"msg_4": "HTTP_TRANSACTION_END_transaction_0",
"msg_5": "HTTP_TRANSACTION_START_transaction_1",
"msg_6": "HTTP_MESSAGE_RES_LINE",
"msg_7": "HTTP_MESSAGE_RES_HEADER",
- "msg_8": "HTTP_MESSAGE_RES_HEADER_END",
"msg_9": "HTTP_MESSAGE_RES_BODY",
"msg_10": "HTTP_MESSAGE_RES_BODY",
"msg_11": "HTTP_MESSAGE_RES_BODY",
diff --git a/test/decoders/http/benchmarks/json/http_multi_parse_error.json b/test/decoders/http/benchmarks/json/http_multi_parse_error.json
index c49d41e..a6f0d91 100644
--- a/test/decoders/http/benchmarks/json/http_multi_parse_error.json
+++ b/test/decoders/http/benchmarks/json/http_multi_parse_error.json
@@ -15,9 +15,9 @@
"Content-Type": "text/xml",
"Date": "Sat Sep 7 10:05:13 2019",
"Content-Length": "468",
- "__X_HTTP_URL": ":4445/RPC2",
- "__X_HTTP_RAW_PAYLOAD_MD5": "6eccbcf261f04aabfa69884aa283f4f3",
- "__X_HTTP_DECOMPRESS_PAYLOAD_MD5": "6eccbcf261f04aabfa69884aa283f4f3"
+ "__X_HTTP_URL": "/:4445/RPC2",
+ "__X_HTTP_HEADERS_INTERGRATION": "Host: \r\nUser-Agent: ulxmlrpcpp/1.7.5\r\nConnection: Close\r\nContent-Type: text/xml\r\nDate: Sat Sep 7 10:05:13 2019\r\nContent-Length: 468\r\n\r\n",
+ "__X_HTTP_RAW_PAYLOAD_MD5": "6eccbcf261f04aabfa69884aa283f4f3"
},
{
"__X_HTTP_TRANSACTION": "response",
@@ -32,7 +32,7 @@
"Transfer-Encoding": "chunked",
"X-Powered-By": "ulxmlrpcpp/1.7.4",
"Date": "Sat Sep 7 01:09:24 2019",
- "__X_HTTP_RAW_PAYLOAD_MD5": "5cf8a4aa9a54e7f2d05b55ed05bf9071",
- "__X_HTTP_DECOMPRESS_PAYLOAD_MD5": "5cf8a4aa9a54e7f2d05b55ed05bf9071"
+ "__X_HTTP_HEADERS_INTERGRATION": "Connection: Close\r\nContent-Type: text/xml\r\nTransfer-Encoding: chunked\r\nX-Powered-By: ulxmlrpcpp/1.7.4\r\nServer: \r\nDate: Sat Sep 7 01:09:24 2019\r\n\r\n",
+ "__X_HTTP_RAW_PAYLOAD_MD5": "5cf8a4aa9a54e7f2d05b55ed05bf9071"
}
] \ No newline at end of file
diff --git a/test/decoders/http/benchmarks/json/http_no_content_length.json b/test/decoders/http/benchmarks/json/http_no_content_length.json
index 9310d04..faf3be4 100644
--- a/test/decoders/http/benchmarks/json/http_no_content_length.json
+++ b/test/decoders/http/benchmarks/json/http_no_content_length.json
@@ -20,7 +20,8 @@
"Connection": "keep-alive",
"Referer": "http://www.xxxxxxxx.com/xxxxxxxxxxxxxxx/xxxxxxxxxxxxxxxx.html",
"Cookie": "trafic_ranking=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
- "__X_HTTP_URL": "xxxxxxx.xxxxxx.xx/js/xxxxxx.js"
+ "__X_HTTP_URL": "xxxxxxx.xxxxxx.xx/js/xxxxxx.js",
+ "__X_HTTP_HEADERS_INTERGRATION": "Host: xxxxxxx.xxxxxx.xx\r\nUser-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3\r\nAccept: */*\r\nAccept-Language: en-us,en;q=0.5\r\nAccept-Encoding: gzip,deflate\r\nAccept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\nKeep-Alive: 115\r\nConnection: keep-alive\r\nReferer: http://www.xxxxxxxx.com/xxxxxxxxxxxxxxx/xxxxxxxxxxxxxxxx.html\r\nCookie: trafic_ranking=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\r\n\r\n"
},
{
"__X_HTTP_TRANSACTION": "response",
@@ -40,7 +41,7 @@
"P3P": "policyref=\"/w3c/p3p.xml\", CP=\"ALL IND DSP COR ADM CONo CUR IVAo IVDo PSA PSD TAI TELo OUR SAMo CNT COM INT NAV ONL PHY PRE PUR UNI\"",
"Set-Cookie": "trafic_ranking=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; expires=Sun, 11-Jan-2037 14:00:00 GMT; path=/; domain=.xxxxxx.xx",
"connection": "close",
- "__X_HTTP_RAW_PAYLOAD_MD5": "9fb54a2726ca3cf54a82804d0e66d08a",
- "__X_HTTP_DECOMPRESS_PAYLOAD_MD5": "9fb54a2726ca3cf54a82804d0e66d08a"
+ "__X_HTTP_HEADERS_INTERGRATION": "Date: Mon, 10 May 2010 08:31:02 GMT\r\nServer: Apache\r\nContent-type: application/x-javascript\r\nExpires: Thu, 11 Jan 1973 16:00:00 GMT\r\nLast-Modified: Mon, 10 May 2010 08:31:02 GMT\r\nCache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0\r\nPragma: no-cache\r\nP3P: policyref=\"/w3c/p3p.xml\", CP=\"ALL IND DSP COR ADM CONo CUR IVAo IVDo PSA PSD TAI TELo OUR SAMo CNT COM INT NAV ONL PHY PRE PUR UNI\"\r\nSet-Cookie: trafic_ranking=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; expires=Sun, 11-Jan-2037 14:00:00 GMT; path=/; domain=.xxxxxx.xx\r\nconnection: close\r\n\r\n",
+ "__X_HTTP_RAW_PAYLOAD_MD5": "9fb54a2726ca3cf54a82804d0e66d08a"
}
] \ No newline at end of file
diff --git a/test/decoders/http/benchmarks/json/http_out_of_order.json b/test/decoders/http/benchmarks/json/http_out_of_order.json
index 489b7c1..65124e7 100644
--- a/test/decoders/http/benchmarks/json/http_out_of_order.json
+++ b/test/decoders/http/benchmarks/json/http_out_of_order.json
@@ -19,7 +19,8 @@
"Accept-Encoding": "gzip, deflate",
"Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8",
"Cookie": "_ga=GA1.2.1223391296.1710844147; _ga_CGYVD7S4G4=GS1.1.1711101500.1.1.1711101524.0.0.0; _gcl_au=1.1.45985360.1720059434; arialoadData=true; ariawapChangeViewPort=false; JSESSIONID=ZoFJbBlIeHCsA5414j6JC-vO6jvcBw7_xphcV3qerj5Q8htV6XH8!-1677015109",
- "__X_HTTP_URL": "www.airchina.com/cn/images/globesite/airchina.jpg"
+ "__X_HTTP_URL": "www.airchina.com/cn/images/globesite/airchina.jpg",
+ "__X_HTTP_HEADERS_INTERGRATION": "Host: www.airchina.com\r\nConnection: keep-alive\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36\r\nDNT: 1\r\nAccept: image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8\r\nReferer: http://www.airchina.com/website/ip2.jsp?v=20230128\r\nAccept-Encoding: gzip, deflate\r\nAccept-Language: zh-CN,zh;q=0.9,en;q=0.8\r\nCookie: _ga=GA1.2.1223391296.1710844147; _ga_CGYVD7S4G4=GS1.1.1711101500.1.1.1711101524.0.0.0; _gcl_au=1.1.45985360.1720059434; arialoadData=true; ariawapChangeViewPort=false; JSESSIONID=ZoFJbBlIeHCsA5414j6JC-vO6jvcBw7_xphcV3qerj5Q8htV6XH8!-1677015109\r\n\r\n"
},
{
"__X_HTTP_TRANSACTION": "response",
@@ -38,7 +39,7 @@
"Keep-Alive": "timeout=120, max=1000",
"Connection": "Keep-Alive",
"Content-Type": "image/jpeg",
- "__X_HTTP_RAW_PAYLOAD_MD5": "c4c9d459415e922f877a2af6afd9d316",
- "__X_HTTP_DECOMPRESS_PAYLOAD_MD5": "c4c9d459415e922f877a2af6afd9d316"
+ "__X_HTTP_HEADERS_INTERGRATION": "Date: Tue, 13 Aug 2024 01:48:28 GMT\r\nServer: Apache\r\nX-Frame-Options: SAMEORIGIN\r\nLast-Modified: Tue, 06 Aug 2019 02:10:09 GMT\r\nAccept-Ranges: bytes\r\nContent-Length: 67424\r\nKeep-Alive: timeout=120, max=1000\r\nConnection: Keep-Alive\r\nContent-Type: image/jpeg\r\n\r\n",
+ "__X_HTTP_RAW_PAYLOAD_MD5": "c4c9d459415e922f877a2af6afd9d316"
}
] \ No newline at end of file
diff --git a/test/decoders/http/benchmarks/json/http_over_pppoe.json b/test/decoders/http/benchmarks/json/http_over_pppoe.json
index b4b4bfb..4c334ab 100644
--- a/test/decoders/http/benchmarks/json/http_over_pppoe.json
+++ b/test/decoders/http/benchmarks/json/http_over_pppoe.json
@@ -13,7 +13,8 @@
"User-Agent": "curl/7.34.0",
"Host": "ipv6.icanhazip.com",
"Accept": "*/*",
- "__X_HTTP_URL": "ipv6.icanhazip.com/"
+ "__X_HTTP_URL": "ipv6.icanhazip.com/",
+ "__X_HTTP_HEADERS_INTERGRATION": "User-Agent: curl/7.34.0\r\nHost: ipv6.icanhazip.com\r\nAccept: */*\r\n\r\n"
},
{
"__X_HTTP_TRANSACTION": "response",
@@ -30,7 +31,7 @@
"X-RTFM": "Learn about this site at http://bit.ly/14DAh2o and don't abuse the service",
"X-YOU-SHOULD-APPLY-FOR-A-JOB": "If you're reading this, apply here: http://rackertalent.com/",
"X-ICANHAZNODE": "icanhazip1.nugget",
- "__X_HTTP_RAW_PAYLOAD_MD5": "624520ac54235ac2284ed2dd2b17e1ad",
- "__X_HTTP_DECOMPRESS_PAYLOAD_MD5": "624520ac54235ac2284ed2dd2b17e1ad"
+ "__X_HTTP_HEADERS_INTERGRATION": "Date: Thu, 02 Jan 2014 08:38:06 GMT\r\nServer: Apache\r\nContent-Length: 38\r\nContent-Type: text/plain; charset=UTF-8\r\nX-RTFM: Learn about this site at http://bit.ly/14DAh2o and don't abuse the service\r\nX-YOU-SHOULD-APPLY-FOR-A-JOB: If you're reading this, apply here: http://rackertalent.com/\r\nX-ICANHAZNODE: icanhazip1.nugget\r\n\r\n",
+ "__X_HTTP_RAW_PAYLOAD_MD5": "624520ac54235ac2284ed2dd2b17e1ad"
}
] \ No newline at end of file
diff --git a/test/decoders/http/benchmarks/json/http_over_tcp_keepalive.json b/test/decoders/http/benchmarks/json/http_over_tcp_keepalive.json
index 2754249..379e9ac 100644
--- a/test/decoders/http/benchmarks/json/http_over_tcp_keepalive.json
+++ b/test/decoders/http/benchmarks/json/http_over_tcp_keepalive.json
@@ -19,7 +19,8 @@
"Accept-Encoding": "gzip, deflate",
"Accept-Language": "zh-CN,zh;q=0.9",
"Cookie": "UM_distinctid=17d37645f9c1a1-0281befa480414-b7a1a38-144000-17d37645f9d336; CNZZDATA1258295942=1778021578-1637307701-%7C1637307701; Hm_lvt_a6dc86f6e27435039966e994bd7f0792=1637311872; yumi_sid=JaMlFyTA07ikpZjTHZsRTWyGdMqFyFy%2B4hXGj%2FSoQRJYbrfBUQuOTIMZ8jUGmugDC594AYcbeRhg75xidhRxCW4zq9Y0gPwTmkhq4LQuprp4DrtDMLI3L5wLMqkG%2FuAX1aVFPfud5GRNxNFTSp%2Bos%2FKhfCFKhfN5%2BuT2xyVYSAjy2ftiSOGDi7FN13icuuyPhFCoWqOxWVu1CZ3AiYPJssv6kXqiR6paf75icdeROZY2bkFCDKkcIQcPy7o9EKpkL1Mbimeb40JMg9hUsWdmyhDkzVjSHJmC4z2ujpzSDTsjRIQOnxTy1PHZi%2FMwg3uyGLCusDwqbagpO4pcgEJ5ONDy%2BGwO7FmHXU3mFfR56c9HxxiiuLPnBt9ErpqqWKsxH6lUrlHaUp6AzyrgX7PFdksiMfPSk6%2F3%2FWOYr%2FkYuI4fopw7z8%2FLhxC9AiLr9Czz3MngFUGzkmaMVvAhZOSPzg%3D%3D; Hm_lpvt_a6dc86f6e27435039966e994bd7f0792=1637313847",
- "__X_HTTP_URL": "www.yumi.com/"
+ "__X_HTTP_URL": "www.yumi.com/",
+ "__X_HTTP_HEADERS_INTERGRATION": "Host: www.yumi.com\r\nConnection: keep-alive\r\nCache-Control: max-age=0\r\nUpgrade-Insecure-Requests: 1\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.61 Safari/537.36\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9\r\nAccept-Encoding: gzip, deflate\r\nAccept-Language: zh-CN,zh;q=0.9\r\nCookie: UM_distinctid=17d37645f9c1a1-0281befa480414-b7a1a38-144000-17d37645f9d336; CNZZDATA1258295942=1778021578-1637307701-%7C1637307701; Hm_lvt_a6dc86f6e27435039966e994bd7f0792=1637311872; yumi_sid=JaMlFyTA07ikpZjTHZsRTWyGdMqFyFy%2B4hXGj%2FSoQRJYbrfBUQuOTIMZ8jUGmugDC594AYcbeRhg75xidhRxCW4zq9Y0gPwTmkhq4LQuprp4DrtDMLI3L5wLMqkG%2FuAX1aVFPfud5GRNxNFTSp%2Bos%2FKhfCFKhfN5%2BuT2xyVYSAjy2ftiSOGDi7FN13icuuyPhFCoWqOxWVu1CZ3AiYPJssv6kXqiR6paf75icdeROZY2bkFCDKkcIQcPy7o9EKpkL1Mbimeb40JMg9hUsWdmyhDkzVjSHJmC4z2ujpzSDTsjRIQOnxTy1PHZi%2FMwg3uyGLCusDwqbagpO4pcgEJ5ONDy%2BGwO7FmHXU3mFfR56c9HxxiiuLPnBt9ErpqqWKsxH6lUrlHaUp6AzyrgX7PFdksiMfPSk6%2F3%2FWOYr%2FkYuI4fopw7z8%2FLhxC9AiLr9Czz3MngFUGzkmaMVvAhZOSPzg%3D%3D; Hm_lpvt_a6dc86f6e27435039966e994bd7f0792=1637313847\r\n\r\n"
},
{
"__X_HTTP_TRANSACTION": "response",
@@ -39,7 +40,8 @@
"Pragma": "no-cache",
"Cache-Control": "no-store",
"Content-Encoding": "gzip",
- "__X_HTTP_RAW_PAYLOAD_MD5": "3f80dc84438b2f2d6b5e58084e31671c",
- "__X_HTTP_DECOMPRESS_PAYLOAD_MD5": "af9b1a0118edd2920db355f9eee4ab75"
+ "__X_HTTP_HEADERS_INTERGRATION": "Server: Tengine\r\nDate: Fri, 19 Nov 2021 09:57:40 GMT\r\nContent-Type: text/html\r\nTransfer-Encoding: chunked\r\nConnection: keep-alive\r\nVary: Accept-Encoding\r\nSet-Cookie: yumi_sid=V6EhlyovLp46BBzQWLVOBg%2F73RUD5E%2FfaRlkR8RLa8aKhGrPVdVHvHfFWRKKd9wZ%2BfFF4Tb2wnVOOn%2F9iXbBpyHsbxjmUqnbFSoAX7QIJjt%2BEEjAL3M7O7VSpAyMnrFKt7qu46oXV%2B6teyyTUY7Ucy285v6otvZcu8bN%2B5YxKZ1gYh56iJ0bHxnrnQ0vvAx3l%2BLwfw2y0c5IaF2tjrL%2Fn83nrHsPoYYRWAR2zLIXD%2FEMKRtyerwsM5LKhZZteFGWD2w%2B15alKF5T65i0lPvPcAdaqpceL5xz23twQULhs1tIJsOfJZ8JudLlRy6x3DvxQYqRe2xTCex5c77zJqfq%2FdryNbBycIq9gf6C2hXDRwDqRqVgXDMadwGnooKFkv%2ByCbohjHyBCZJypBcYFmglYhin23UC9i%2B%2BOA%2FxhlxcnU8kT8udpTNCktSmF950SQLOmvdvYuXGydKs8v05cxe5fg%3D%3D; expires=Fri, 19-Nov-2021 11:57:38 GMT; Max-Age=7200; path=/; domain=.yumi.com\r\nPragma: no-cache\r\nCache-Control: no-store\r\nContent-Encoding: gzip\r\n\r\n",
+ "__X_HTTP_RAW_PAYLOAD_MD5": "3f80dc84438b2f2d6b5e58084e31671c",
+ "__X_HTTP_DECOMPRESS_PAYLOAD_MD5": "af9b1a0118edd2920db355f9eee4ab75"
}
] \ No newline at end of file
diff --git a/test/decoders/http/benchmarks/json/http_pipeline_header_splitting.json b/test/decoders/http/benchmarks/json/http_pipeline_header_splitting.json
index bebfa94..099e13a 100644
--- a/test/decoders/http/benchmarks/json/http_pipeline_header_splitting.json
+++ b/test/decoders/http/benchmarks/json/http_pipeline_header_splitting.json
@@ -18,7 +18,8 @@
"-X-header3": "value333",
"-X-header4": "value444",
"-X-header5": "value5555",
- "__X_HTTP_URL": "127.0.0.1:8080 /111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111.html"
+ "__X_HTTP_URL": "127.0.0.1:8080 /111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111.html",
+ "__X_HTTP_HEADERS_INTERGRATION": "Host: 127.0.0.1:8080 \r\nUser-Agent: curl/7.61.111\r\nAccept: */*\r\n-X-header1: value111\r\n-X-header2: value222\r\n-X-header3: value333\r\n-X-header4: value444\r\n-X-header5: value5555\r\n\r\n"
},
{
"__X_HTTP_TRANSACTION": "response",
@@ -31,8 +32,8 @@
"Server": "BaseHTTP/0.6 Python/3.6.88",
"Date": "Sun, 01 Sep 2024 07:31:09 GMTT",
"Content-length": "88",
- "__X_HTTP_RAW_PAYLOAD_MD5": "c396b63d897591e928fae959915e9ebc",
- "__X_HTTP_DECOMPRESS_PAYLOAD_MD5": "c396b63d897591e928fae959915e9ebc"
+ "__X_HTTP_HEADERS_INTERGRATION": "Server: BaseHTTP/0.6 Python/3.6.88\r\nDate: Sun, 01 Sep 2024 07:31:09 GMTT\r\nContent-length:88\r\n\r\n",
+ "__X_HTTP_RAW_PAYLOAD_MD5": "c396b63d897591e928fae959915e9ebc"
},
{
"__X_HTTP_TRANSACTION": "request",
@@ -50,7 +51,8 @@
"-X-header3": "value3333",
"-X-header4": "value4444",
"-X-header5": "value55555",
- "__X_HTTP_URL": "127.0.0.1:8080/2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222.html"
+ "__X_HTTP_URL": "127.0.0.1:8080/2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222.html",
+ "__X_HTTP_HEADERS_INTERGRATION": "Host: 127.0.0.1:8080\r\nUser-Agent: curl/7.61.1\r\nAccept: */*\r\n-X-header1: value111\r\n-X-header2: value2222\r\n-X-header3: value3333\r\n-X-header4: value4444\r\n-X-header5: value55555\r\n\r\n"
},
{
"__X_HTTP_TRANSACTION": "response",
@@ -63,7 +65,7 @@
"Server": "BaseHTTP/0.6 Python/3.6.88",
"Date": "Sun, 01 Sep 2024 07:31:09 GMTT",
"Content-length": "89",
- "__X_HTTP_RAW_PAYLOAD_MD5": "5e3c5a7de2696e52ef42d9ccfd8ce831",
- "__X_HTTP_DECOMPRESS_PAYLOAD_MD5": "5e3c5a7de2696e52ef42d9ccfd8ce831"
+ "__X_HTTP_HEADERS_INTERGRATION": "Server: BaseHTTP/0.6 Python/3.6.88\r\nDate: Sun, 01 Sep 2024 07:31:09 GMTT\r\nContent-length:89\r\n\r\n",
+ "__X_HTTP_RAW_PAYLOAD_MD5": "5e3c5a7de2696e52ef42d9ccfd8ce831"
}
] \ No newline at end of file
diff --git a/test/decoders/http/benchmarks/json/http_post_multipart_form_data.json b/test/decoders/http/benchmarks/json/http_post_multipart_form_data.json
index ac524f6..4b29571 100644
--- a/test/decoders/http/benchmarks/json/http_post_multipart_form_data.json
+++ b/test/decoders/http/benchmarks/json/http_post_multipart_form_data.json
@@ -17,7 +17,8 @@
"Accept-Encoding": "gzip,deflate,sdch",
"Accept-Language": "zh-CN,zh;q=0.8",
"Cookie": "JSESSIONID=969AC5FBD069EE6218EB10513726B244; JSESSIONID=400CC78DF5784F303702CC7F02C6122C",
- "__X_HTTP_URL": "192.168.57.14:8080/fileupload/"
+ "__X_HTTP_URL": "192.168.57.14:8080/fileupload/",
+ "__X_HTTP_HEADERS_INTERGRATION": "Host: 192.168.57.14:8080\r\nConnection: keep-alive\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8\r\nUser-Agent: Mozilla/5.0 (Windows NT 5.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36\r\nAccept-Encoding: gzip,deflate,sdch\r\nAccept-Language: zh-CN,zh;q=0.8\r\nCookie: JSESSIONID=969AC5FBD069EE6218EB10513726B244; JSESSIONID=400CC78DF5784F303702CC7F02C6122C\r\n\r\n"
},
{
"__X_HTTP_TRANSACTION": "response",
@@ -31,8 +32,8 @@
"Content-Type": "text/html;charset=UTF-8",
"Content-Length": "468",
"Date": "Thu, 28 Mar 2019 08:13:33 GMT",
- "__X_HTTP_RAW_PAYLOAD_MD5": "2b8cd757ab5ffba85acac26c008a1ffc",
- "__X_HTTP_DECOMPRESS_PAYLOAD_MD5": "2b8cd757ab5ffba85acac26c008a1ffc"
+ "__X_HTTP_HEADERS_INTERGRATION": "Server: Apache-Coyote/1.1\r\nContent-Type: text/html;charset=UTF-8\r\nContent-Length: 468\r\nDate: Thu, 28 Mar 2019 08:13:33 GMT\r\n\r\n",
+ "__X_HTTP_RAW_PAYLOAD_MD5": "2b8cd757ab5ffba85acac26c008a1ffc"
},
{
"__X_HTTP_TRANSACTION": "request",
@@ -49,7 +50,8 @@
"Accept-Encoding": "gzip,deflate,sdch",
"Accept-Language": "zh-CN,zh;q=0.8",
"Cookie": "JSESSIONID=969AC5FBD069EE6218EB10513726B244; JSESSIONID=400CC78DF5784F303702CC7F02C6122C",
- "__X_HTTP_URL": "192.168.57.14:8080/fileupload/"
+ "__X_HTTP_URL": "192.168.57.14:8080/fileupload/",
+ "__X_HTTP_HEADERS_INTERGRATION": "Host: 192.168.57.14:8080\r\nConnection: keep-alive\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8\r\nUser-Agent: Mozilla/5.0 (Windows NT 5.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36\r\nAccept-Encoding: gzip,deflate,sdch\r\nAccept-Language: zh-CN,zh;q=0.8\r\nCookie: JSESSIONID=969AC5FBD069EE6218EB10513726B244; JSESSIONID=400CC78DF5784F303702CC7F02C6122C\r\n\r\n"
},
{
"__X_HTTP_TRANSACTION": "response",
@@ -63,8 +65,8 @@
"Content-Type": "text/html;charset=UTF-8",
"Content-Length": "468",
"Date": "Thu, 28 Mar 2019 08:13:33 GMT",
- "__X_HTTP_RAW_PAYLOAD_MD5": "2b8cd757ab5ffba85acac26c008a1ffc",
- "__X_HTTP_DECOMPRESS_PAYLOAD_MD5": "2b8cd757ab5ffba85acac26c008a1ffc"
+ "__X_HTTP_HEADERS_INTERGRATION": "Server: Apache-Coyote/1.1\r\nContent-Type: text/html;charset=UTF-8\r\nContent-Length: 468\r\nDate: Thu, 28 Mar 2019 08:13:33 GMT\r\n\r\n",
+ "__X_HTTP_RAW_PAYLOAD_MD5": "2b8cd757ab5ffba85acac26c008a1ffc"
},
{
"__X_HTTP_TRANSACTION": "request",
@@ -87,8 +89,8 @@
"Accept-Language": "zh-CN,zh;q=0.8",
"Cookie": "JSESSIONID=969AC5FBD069EE6218EB10513726B244; JSESSIONID=400CC78DF5784F303702CC7F02C6122C",
"__X_HTTP_URL": "192.168.57.14:8080/fileupload/servlet/UploadHandleServlet",
- "__X_HTTP_RAW_PAYLOAD_MD5": "550be33bf0ac01b6f7ac175bb8f4522a",
- "__X_HTTP_DECOMPRESS_PAYLOAD_MD5": "550be33bf0ac01b6f7ac175bb8f4522a"
+ "__X_HTTP_HEADERS_INTERGRATION": "Host: 192.168.57.14:8080\r\nConnection: keep-alive\r\nContent-Length: 449\r\nCache-Control: max-age=0\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8\r\nOrigin: http://192.168.57.14:8080\r\nUser-Agent: Mozilla/5.0 (Windows NT 5.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36\r\nContent-Type: multipart/form-data; boundary=----WebKitFormBoundaryAe47vGj7ybAe6RwO\r\nReferer: http://192.168.57.14:8080/fileupload/\r\nAccept-Encoding: gzip,deflate,sdch\r\nAccept-Language: zh-CN,zh;q=0.8\r\nCookie: JSESSIONID=969AC5FBD069EE6218EB10513726B244; JSESSIONID=400CC78DF5784F303702CC7F02C6122C\r\n\r\n",
+ "__X_HTTP_RAW_PAYLOAD_MD5": "550be33bf0ac01b6f7ac175bb8f4522a"
},
{
"__X_HTTP_TRANSACTION": "response",
@@ -102,7 +104,7 @@
"Content-Type": "text/html;charset=UTF-8",
"Content-Length": "144",
"Date": "Thu, 28 Mar 2019 08:13:37 GMT",
- "__X_HTTP_RAW_PAYLOAD_MD5": "3fa07f3ec9f9fefed96e9886f80760bb",
- "__X_HTTP_DECOMPRESS_PAYLOAD_MD5": "3fa07f3ec9f9fefed96e9886f80760bb"
+ "__X_HTTP_HEADERS_INTERGRATION": "Server: Apache-Coyote/1.1\r\nContent-Type: text/html;charset=UTF-8\r\nContent-Length: 144\r\nDate: Thu, 28 Mar 2019 08:13:37 GMT\r\n\r\n",
+ "__X_HTTP_RAW_PAYLOAD_MD5": "3fa07f3ec9f9fefed96e9886f80760bb"
}
] \ No newline at end of file
diff --git a/test/decoders/http/benchmarks/json/http_req_1byte_sliding_window.json b/test/decoders/http/benchmarks/json/http_req_1byte_sliding_window.json
index 13b360d..7cd3e21 100644
--- a/test/decoders/http/benchmarks/json/http_req_1byte_sliding_window.json
+++ b/test/decoders/http/benchmarks/json/http_req_1byte_sliding_window.json
@@ -13,8 +13,9 @@
"User-Agent": "Wget/1.14 (linux-gnu)",
"Accept": "*/*",
"Host": "192.168.42.40",
+ "Connection": "Keep-Alive",
"__X_HTTP_URL": "192.168.42.40/index.html",
- "Connection": "Keep-Alive"
+ "__X_HTTP_HEADERS_INTERGRATION": "User-Agent: Wget/1.14 (linux-gnu)\r\nAccept: */*\r\nHost: 192.168.42.40\r\nConnection: Keep-Alive\r\n\r\n"
},
{
"__X_HTTP_TRANSACTION": "response",
@@ -29,7 +30,7 @@
"Content-type": "text/html",
"Content-Length": "144",
"Last-Modified": "Fri, 29 Dec 2023 08:50:53 GMT",
- "__X_HTTP_RAW_PAYLOAD_MD5": "3e11876cd3a234541ae37d833c088a76",
- "__X_HTTP_DECOMPRESS_PAYLOAD_MD5": "3e11876cd3a234541ae37d833c088a76"
+ "__X_HTTP_HEADERS_INTERGRATION": "Server: SimpleHTTP/0.6 Python/2.7.5\r\nDate: Fri, 29 Dec 2023 09:11:12 GMT\r\nContent-type: text/html\r\nContent-Length: 144\r\nLast-Modified: Fri, 29 Dec 2023 08:50:53 GMT\r\n\r\n",
+ "__X_HTTP_RAW_PAYLOAD_MD5": "3e11876cd3a234541ae37d833c088a76"
}
] \ No newline at end of file
diff --git a/test/decoders/http/benchmarks/json/http_res_1byte_sliding_window.json b/test/decoders/http/benchmarks/json/http_res_1byte_sliding_window.json
index f527839..65e1836 100644
--- a/test/decoders/http/benchmarks/json/http_res_1byte_sliding_window.json
+++ b/test/decoders/http/benchmarks/json/http_res_1byte_sliding_window.json
@@ -14,7 +14,8 @@
"Accept": "*/*",
"Host": "192.168.40.137",
"Connection": "Keep-Alive",
- "__X_HTTP_URL": "192.168.40.137/index.html"
+ "__X_HTTP_URL": "192.168.40.137/index.html",
+ "__X_HTTP_HEADERS_INTERGRATION": "User-Agent: Wget/1.14 (linux-gnu)\r\nAccept: */*\r\nHost: 192.168.40.137\r\nConnection: Keep-Alive\r\n\r\n"
},
{
"__X_HTTP_TRANSACTION": "response",
@@ -29,7 +30,7 @@
"Content-type": "text/html",
"Content-Length": "144",
"Last-Modified": "Fri, 29 Dec 2023 08:50:53 GMT",
- "__X_HTTP_RAW_PAYLOAD_MD5": "3e11876cd3a234541ae37d833c088a76",
- "__X_HTTP_DECOMPRESS_PAYLOAD_MD5": "3e11876cd3a234541ae37d833c088a76"
+ "__X_HTTP_HEADERS_INTERGRATION": "Server: SimpleHTTP/0.6 Python/2.7.5\r\nDate: Fri, 29 Dec 2023 09:32:21 GMT\r\nContent-type: text/html\r\nContent-Length: 144\r\nLast-Modified: Fri, 29 Dec 2023 08:50:53 GMT\r\n\r\n",
+ "__X_HTTP_RAW_PAYLOAD_MD5": "3e11876cd3a234541ae37d833c088a76"
}
] \ No newline at end of file
diff --git a/test/decoders/http/benchmarks/json/http_res_gzip.json b/test/decoders/http/benchmarks/json/http_res_gzip.json
index 9d3e9c7..2b00fdb 100644
--- a/test/decoders/http/benchmarks/json/http_res_gzip.json
+++ b/test/decoders/http/benchmarks/json/http_res_gzip.json
@@ -19,7 +19,8 @@
"Keep-Alive": "300",
"Connection": "keep-alive",
"Cookie": "FGNCLIID=05c04axp1yaqynldtcdiwis0ag1",
- "__X_HTTP_URL": "cerberus/test/ethereal.html"
+ "__X_HTTP_URL": "cerberus/test/ethereal.html",
+ "__X_HTTP_HEADERS_INTERGRATION": "Host: cerberus\r\nUser-Agent: Mozilla/5.0 (X11; U; Linux ppc; rv:1.7.3) Gecko/20041004 Firefox/0.10.1\r\nAccept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\nAccept-Language: en-us,en;q=0.5\r\nAccept-Encoding: gzip,deflate\r\nAccept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\nKeep-Alive: 300\r\nConnection: keep-alive\r\nCookie: FGNCLIID=05c04axp1yaqynldtcdiwis0ag1\r\n\r\n"
},
{
"__X_HTTP_TRANSACTION": "response",
@@ -39,7 +40,8 @@
"Content-Length": "92",
"Connection": "close",
"Content-Type": "text/html; charset=UTF-8",
- "__X_HTTP_RAW_PAYLOAD_MD5": "dc2c0aff94148ca24acb516113a4d018",
- "__X_HTTP_DECOMPRESS_PAYLOAD_MD5": "61b9e97f96045587bb55db781f7543ad"
+ "__X_HTTP_HEADERS_INTERGRATION": "Date: Fri, 29 Oct 2004 05:21:00 GMT\r\nServer: Apache/2.0.50 (Fedora)\r\nLast-Modified: Fri, 29 Oct 2004 05:20:21 GMT\r\nETag: \"126e1f-6d-371b2f40\"\r\nAccept-Ranges: bytes\r\nVary: Accept-Encoding\r\nContent-Encoding: gzip\r\nContent-Length: 92\r\nConnection: close\r\nContent-Type: text/html; charset=UTF-8\r\n\r\n",
+ "__X_HTTP_RAW_PAYLOAD_MD5": "dc2c0aff94148ca24acb516113a4d018",
+ "__X_HTTP_DECOMPRESS_PAYLOAD_MD5": "61b9e97f96045587bb55db781f7543ad"
}
] \ No newline at end of file
diff --git a/test/decoders/http/benchmarks/json/http_trans_pipeline.json b/test/decoders/http/benchmarks/json/http_trans_pipeline.json
index 4bd0879..1ca1197 100644
--- a/test/decoders/http/benchmarks/json/http_trans_pipeline.json
+++ b/test/decoders/http/benchmarks/json/http_trans_pipeline.json
@@ -13,7 +13,8 @@
"Host": "116.181.2.152",
"User-Agent": "Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)",
"Connection": "keep-alive",
- "__X_HTTP_URL": "116.181.2.152/postinfo.html"
+ "__X_HTTP_URL": "116.181.2.152/postinfo.html",
+ "__X_HTTP_HEADERS_INTERGRATION": "Host: 116.181.2.152\r\nUser-Agent: Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)\r\nConnection: keep-alive\r\n\r\n"
},
{
"__X_HTTP_TRANSACTION": "request",
@@ -26,7 +27,8 @@
"Host": "116.181.2.152",
"User-Agent": "Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)",
"Connection": "keep-alive",
- "__X_HTTP_URL": "116.181.2.152/_vti_bin/_vti_aut/author.dll"
+ "__X_HTTP_URL": "116.181.2.152/_vti_bin/_vti_aut/author.dll",
+ "__X_HTTP_HEADERS_INTERGRATION": "Host: 116.181.2.152\r\nUser-Agent: Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)\r\nConnection: keep-alive\r\n\r\n"
},
{
"__X_HTTP_TRANSACTION": "request",
@@ -39,7 +41,8 @@
"Host": "116.181.2.152",
"User-Agent": "Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)",
"Connection": "keep-alive",
- "__X_HTTP_URL": "116.181.2.152/_vti_bin/_vti_aut/author.exe"
+ "__X_HTTP_URL": "116.181.2.152/_vti_bin/_vti_aut/author.exe",
+ "__X_HTTP_HEADERS_INTERGRATION": "Host: 116.181.2.152\r\nUser-Agent: Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)\r\nConnection: keep-alive\r\n\r\n"
},
{
"__X_HTTP_TRANSACTION": "request",
@@ -52,7 +55,8 @@
"Host": "116.181.2.152",
"User-Agent": "Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)",
"Connection": "keep-alive",
- "__X_HTTP_URL": "116.181.2.152/_vti_bin/_vti_aut/dvwssr.dll"
+ "__X_HTTP_URL": "116.181.2.152/_vti_bin/_vti_aut/dvwssr.dll",
+ "__X_HTTP_HEADERS_INTERGRATION": "Host: 116.181.2.152\r\nUser-Agent: Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)\r\nConnection: keep-alive\r\n\r\n"
},
{
"__X_HTTP_TRANSACTION": "request",
@@ -65,7 +69,8 @@
"Host": "116.181.2.152",
"User-Agent": "Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)",
"Connection": "keep-alive",
- "__X_HTTP_URL": "116.181.2.152/_vti_bin/_vti_adm/admin.dll"
+ "__X_HTTP_URL": "116.181.2.152/_vti_bin/_vti_adm/admin.dll",
+ "__X_HTTP_HEADERS_INTERGRATION": "Host: 116.181.2.152\r\nUser-Agent: Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)\r\nConnection: keep-alive\r\n\r\n"
},
{
"__X_HTTP_TRANSACTION": "request",
@@ -78,20 +83,8 @@
"Host": "116.181.2.152",
"User-Agent": "Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)",
"Connection": "keep-alive",
- "__X_HTTP_URL": "116.181.2.152/_vti_bin/_vti_adm/admin.exe"
- },
- {
- "__X_HTTP_TRANSACTION": "request",
- "__X_HTTP_TRANSACTION_SEQ": 6,
- "method": "GET",
- "uri": "/_vti_bin/fpcount.exe?Page=default.asp|Image=3",
- "req_version": "1.1",
- "major_version": 1,
- "minor_version": 1,
- "Host": "116.181.2.152",
- "User-Agent": "Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)",
- "Connection": "keep-alive",
- "__X_HTTP_URL": "116.181.2.152/_vti_bin/fpcount.exe?Page=default.asp|Image=3"
+ "__X_HTTP_URL": "116.181.2.152/_vti_bin/_vti_adm/admin.exe",
+ "__X_HTTP_HEADERS_INTERGRATION": "Host: 116.181.2.152\r\nUser-Agent: Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)\r\nConnection: keep-alive\r\n\r\n"
},
{
"__X_HTTP_TRANSACTION": "response",
@@ -106,8 +99,8 @@
"Content-Type": "text/html",
"Content-Length": "146",
"Connection": "keep-alive",
- "__X_HTTP_RAW_PAYLOAD_MD5": "32dc0b2772bd73a952abba009291a399",
- "__X_HTTP_DECOMPRESS_PAYLOAD_MD5": "32dc0b2772bd73a952abba009291a399"
+ "__X_HTTP_HEADERS_INTERGRATION": "Server: nginx\r\nDate: Thu, 29 Oct 2020 09:59:01 GMT\r\nContent-Type: text/html\r\nContent-Length: 146\r\nConnection: keep-alive\r\n\r\n",
+ "__X_HTTP_RAW_PAYLOAD_MD5": "32dc0b2772bd73a952abba009291a399"
},
{
"__X_HTTP_TRANSACTION": "response",
@@ -122,8 +115,8 @@
"Content-Type": "text/html",
"Content-Length": "146",
"Connection": "keep-alive",
- "__X_HTTP_RAW_PAYLOAD_MD5": "db2ff8008149d8e70d8a2929acbb0f56",
- "__X_HTTP_DECOMPRESS_PAYLOAD_MD5": "db2ff8008149d8e70d8a2929acbb0f56"
+ "__X_HTTP_HEADERS_INTERGRATION": "Server: nginx\r\nDate: Thu, 29 Oct 2020 09:59:02 GMT\r\nContent-Type: text/html\r\nContent-Length: 146\r\nConnection: keep-alive\r\n\r\n",
+ "__X_HTTP_RAW_PAYLOAD_MD5": "db2ff8008149d8e70d8a2929acbb0f56"
},
{
"__X_HTTP_TRANSACTION": "response",
@@ -138,8 +131,8 @@
"Content-Type": "text/html",
"Content-Length": "146",
"Connection": "keep-alive",
- "__X_HTTP_RAW_PAYLOAD_MD5": "f5df152f7d8f34c630f298d2fcb46ed3",
- "__X_HTTP_DECOMPRESS_PAYLOAD_MD5": "f5df152f7d8f34c630f298d2fcb46ed3"
+ "__X_HTTP_HEADERS_INTERGRATION": "Server: nginx\r\nDate: Thu, 29 Oct 2020 09:59:03 GMT\r\nContent-Type: text/html\r\nContent-Length: 146\r\nConnection: keep-alive\r\n\r\n",
+ "__X_HTTP_RAW_PAYLOAD_MD5": "f5df152f7d8f34c630f298d2fcb46ed3"
},
{
"__X_HTTP_TRANSACTION": "response",
@@ -154,8 +147,8 @@
"Content-Type": "text/html",
"Content-Length": "146",
"Connection": "keep-alive",
- "__X_HTTP_RAW_PAYLOAD_MD5": "73e98ca7b62764869357b3e3c40dcd68",
- "__X_HTTP_DECOMPRESS_PAYLOAD_MD5": "73e98ca7b62764869357b3e3c40dcd68"
+ "__X_HTTP_HEADERS_INTERGRATION": "Server: nginx\r\nDate: Thu, 29 Oct 2020 09:59:04 GMT\r\nContent-Type: text/html\r\nContent-Length: 146\r\nConnection: keep-alive\r\n\r\n",
+ "__X_HTTP_RAW_PAYLOAD_MD5": "73e98ca7b62764869357b3e3c40dcd68"
},
{
"__X_HTTP_TRANSACTION": "response",
@@ -170,8 +163,22 @@
"Content-Type": "text/html",
"Content-Length": "146",
"Connection": "keep-alive",
- "__X_HTTP_RAW_PAYLOAD_MD5": "a5733c8989bde7f08506fa68c20f0c62",
- "__X_HTTP_DECOMPRESS_PAYLOAD_MD5": "a5733c8989bde7f08506fa68c20f0c62"
+ "__X_HTTP_HEADERS_INTERGRATION": "Server: nginx\r\nDate: Thu, 29 Oct 2020 09:59:05 GMT\r\nContent-Type: text/html\r\nContent-Length: 146\r\nConnection: keep-alive\r\n\r\n",
+ "__X_HTTP_RAW_PAYLOAD_MD5": "a5733c8989bde7f08506fa68c20f0c62"
+ },
+ {
+ "__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 6,
+ "method": "GET",
+ "uri": "/_vti_bin/fpcount.exe?Page=default.asp|Image=3",
+ "req_version": "1.1",
+ "major_version": 1,
+ "minor_version": 1,
+ "Host": "116.181.2.152",
+ "User-Agent": "Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)",
+ "Connection": "keep-alive",
+ "__X_HTTP_URL": "116.181.2.152/_vti_bin/fpcount.exe?Page=default.asp|Image=3",
+ "__X_HTTP_HEADERS_INTERGRATION": "Host: 116.181.2.152\r\nUser-Agent: Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)\r\nConnection: keep-alive\r\n\r\n"
},
{
"__X_HTTP_TRANSACTION": "request",
@@ -183,8 +190,9 @@
"minor_version": 1,
"Host": "116.181.2.152",
"User-Agent": "Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)",
+ "Connection": "keep-alive",
"__X_HTTP_URL": "116.181.2.152/_vti_bin/shtml.dll",
- "Connection": "keep-alive"
+ "__X_HTTP_HEADERS_INTERGRATION": "Host: 116.181.2.152\r\nUser-Agent: Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)\r\nConnection: keep-alive\r\n\r\n"
},
{
"__X_HTTP_TRANSACTION": "request",
@@ -197,7 +205,8 @@
"Host": "116.181.2.152",
"User-Agent": "Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)",
"Connection": "keep-alive",
- "__X_HTTP_URL": "116.181.2.152/_vti_bin/shtml.exe"
+ "__X_HTTP_URL": "116.181.2.152/_vti_bin/shtml.exe",
+ "__X_HTTP_HEADERS_INTERGRATION": "Host: 116.181.2.152\r\nUser-Agent: Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)\r\nConnection: keep-alive\r\n\r\n"
},
{
"__X_HTTP_TRANSACTION": "request",
@@ -210,7 +219,8 @@
"Host": "116.181.2.152",
"User-Agent": "Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)",
"Connection": "keep-alive",
- "__X_HTTP_URL": "116.181.2.152/_vti_pvt/_x_todo.htm"
+ "__X_HTTP_URL": "116.181.2.152/_vti_pvt/_x_todo.htm",
+ "__X_HTTP_HEADERS_INTERGRATION": "Host: 116.181.2.152\r\nUser-Agent: Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)\r\nConnection: keep-alive\r\n\r\n"
},
{
"__X_HTTP_TRANSACTION": "request",
@@ -223,7 +233,8 @@
"Host": "116.181.2.152",
"User-Agent": "Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)",
"Connection": "keep-alive",
- "__X_HTTP_URL": "116.181.2.152/_vti_pvt/_x_todoh.htm"
+ "__X_HTTP_URL": "116.181.2.152/_vti_pvt/_x_todoh.htm",
+ "__X_HTTP_HEADERS_INTERGRATION": "Host: 116.181.2.152\r\nUser-Agent: Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)\r\nConnection: keep-alive\r\n\r\n"
},
{
"__X_HTTP_TRANSACTION": "request",
@@ -236,7 +247,8 @@
"Host": "116.181.2.152",
"User-Agent": "Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)",
"Connection": "keep-alive",
- "__X_HTTP_URL": "116.181.2.152/_vti_pvt/access.cnf"
+ "__X_HTTP_URL": "116.181.2.152/_vti_pvt/access.cnf",
+ "__X_HTTP_HEADERS_INTERGRATION": "Host: 116.181.2.152\r\nUser-Agent: Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)\r\nConnection: keep-alive\r\n\r\n"
},
{
"__X_HTTP_TRANSACTION": "request",
@@ -249,7 +261,8 @@
"Host": "116.181.2.152",
"User-Agent": "Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)",
"Connection": "keep-alive",
- "__X_HTTP_URL": "116.181.2.152/_vti_pvt/administrator.pwd"
+ "__X_HTTP_URL": "116.181.2.152/_vti_pvt/administrator.pwd",
+ "__X_HTTP_HEADERS_INTERGRATION": "Host: 116.181.2.152\r\nUser-Agent: Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)\r\nConnection: keep-alive\r\n\r\n"
},
{
"__X_HTTP_TRANSACTION": "request",
@@ -262,7 +275,8 @@
"Host": "116.181.2.152",
"User-Agent": "Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)",
"Connection": "keep-alive",
- "__X_HTTP_URL": "116.181.2.152/_vti_pvt/administrators.pwd"
+ "__X_HTTP_URL": "116.181.2.152/_vti_pvt/administrators.pwd",
+ "__X_HTTP_HEADERS_INTERGRATION": "Host: 116.181.2.152\r\nUser-Agent: Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)\r\nConnection: keep-alive\r\n\r\n"
},
{
"__X_HTTP_TRANSACTION": "request",
@@ -275,7 +289,8 @@
"Host": "116.181.2.152",
"User-Agent": "Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)",
"Connection": "keep-alive",
- "__X_HTTP_URL": "116.181.2.152/_vti_pvt/authors.pwd"
+ "__X_HTTP_URL": "116.181.2.152/_vti_pvt/authors.pwd",
+ "__X_HTTP_HEADERS_INTERGRATION": "Host: 116.181.2.152\r\nUser-Agent: Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)\r\nConnection: keep-alive\r\n\r\n"
},
{
"__X_HTTP_TRANSACTION": "response",
@@ -290,8 +305,8 @@
"Content-Type": "text/html",
"Content-Length": "146",
"Connection": "keep-alive",
- "__X_HTTP_RAW_PAYLOAD_MD5": "4bc0dde3722f76d60fef6f1d878cbb14",
- "__X_HTTP_DECOMPRESS_PAYLOAD_MD5": "4bc0dde3722f76d60fef6f1d878cbb14"
+ "__X_HTTP_HEADERS_INTERGRATION": "Server: nginx\r\nDate: Thu, 29 Oct 2020 09:59:06 GMT\r\nContent-Type: text/html\r\nContent-Length: 146\r\nConnection: keep-alive\r\n\r\n",
+ "__X_HTTP_RAW_PAYLOAD_MD5": "4bc0dde3722f76d60fef6f1d878cbb14"
},
{
"__X_HTTP_TRANSACTION": "response",
@@ -306,8 +321,8 @@
"Content-Type": "text/html",
"Content-Length": "146",
"Connection": "keep-alive",
- "__X_HTTP_RAW_PAYLOAD_MD5": "728dc2eafd49c9be8149add7c6aff207",
- "__X_HTTP_DECOMPRESS_PAYLOAD_MD5": "728dc2eafd49c9be8149add7c6aff207"
+ "__X_HTTP_HEADERS_INTERGRATION": "Server: nginx\r\nDate: Thu, 29 Oct 2020 09:59:07 GMT\r\nContent-Type: text/html\r\nContent-Length: 146\r\nConnection: keep-alive\r\n\r\n",
+ "__X_HTTP_RAW_PAYLOAD_MD5": "728dc2eafd49c9be8149add7c6aff207"
},
{
"__X_HTTP_TRANSACTION": "response",
@@ -322,8 +337,8 @@
"Content-Type": "text/html",
"Content-Length": "146",
"Connection": "keep-alive",
- "__X_HTTP_RAW_PAYLOAD_MD5": "0cde98e33181ee0ded49e8d0a3178d55",
- "__X_HTTP_DECOMPRESS_PAYLOAD_MD5": "0cde98e33181ee0ded49e8d0a3178d55"
+ "__X_HTTP_HEADERS_INTERGRATION": "Server: nginx\r\nDate: Thu, 29 Oct 2020 09:59:08 GMT\r\nContent-Type: text/html\r\nContent-Length: 146\r\nConnection: keep-alive\r\n\r\n",
+ "__X_HTTP_RAW_PAYLOAD_MD5": "0cde98e33181ee0ded49e8d0a3178d55"
},
{
"__X_HTTP_TRANSACTION": "response",
@@ -338,8 +353,8 @@
"Content-Type": "text/html",
"Content-Length": "146",
"Connection": "keep-alive",
- "__X_HTTP_RAW_PAYLOAD_MD5": "d627268e0aba817d818b6e2b7e41aa11",
- "__X_HTTP_DECOMPRESS_PAYLOAD_MD5": "d627268e0aba817d818b6e2b7e41aa11"
+ "__X_HTTP_HEADERS_INTERGRATION": "Server: nginx\r\nDate: Thu, 29 Oct 2020 09:59:09 GMT\r\nContent-Type: text/html\r\nContent-Length: 146\r\nConnection: keep-alive\r\n\r\n",
+ "__X_HTTP_RAW_PAYLOAD_MD5": "d627268e0aba817d818b6e2b7e41aa11"
},
{
"__X_HTTP_TRANSACTION": "response",
@@ -354,8 +369,8 @@
"Content-Type": "text/html",
"Content-Length": "146",
"Connection": "keep-alive",
- "__X_HTTP_RAW_PAYLOAD_MD5": "e99d9829d50bd94b3497b91011f6e349",
- "__X_HTTP_DECOMPRESS_PAYLOAD_MD5": "e99d9829d50bd94b3497b91011f6e349"
+ "__X_HTTP_HEADERS_INTERGRATION": "Server: nginx\r\nDate: Thu, 29 Oct 2020 09:59:10 GMT\r\nContent-Type: text/html\r\nContent-Length: 146\r\nConnection: keep-alive\r\n\r\n",
+ "__X_HTTP_RAW_PAYLOAD_MD5": "e99d9829d50bd94b3497b91011f6e349"
},
{
"__X_HTTP_TRANSACTION": "request",
@@ -368,7 +383,8 @@
"Host": "116.181.2.152",
"User-Agent": "Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)",
"Connection": "keep-alive",
- "__X_HTTP_URL": "116.181.2.152/_vti_pvt/bots.cnf"
+ "__X_HTTP_URL": "116.181.2.152/_vti_pvt/bots.cnf",
+ "__X_HTTP_HEADERS_INTERGRATION": "Host: 116.181.2.152\r\nUser-Agent: Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)\r\nConnection: keep-alive\r\n\r\n"
},
{
"__X_HTTP_TRANSACTION": "response",
@@ -383,7 +399,7 @@
"Content-Type": "text/html",
"Content-Length": "146",
"Connection": "keep-alive",
- "__X_HTTP_RAW_PAYLOAD_MD5": "99a813d29c5da4e6f7269be4c1a31c8e",
- "__X_HTTP_DECOMPRESS_PAYLOAD_MD5": "99a813d29c5da4e6f7269be4c1a31c8e"
+ "__X_HTTP_HEADERS_INTERGRATION": "Server: nginx\r\nDate: Thu, 29 Oct 2020 09:59:11 GMT\r\nContent-Type: text/html\r\nContent-Length: 146\r\nConnection: keep-alive\r\n\r\n",
+ "__X_HTTP_RAW_PAYLOAD_MD5": "99a813d29c5da4e6f7269be4c1a31c8e"
}
] \ No newline at end of file
diff --git a/test/decoders/http/benchmarks/json/http_upgrade_websocket.json b/test/decoders/http/benchmarks/json/http_upgrade_websocket.json
index 6a7dfc3..05ae445 100644
--- a/test/decoders/http/benchmarks/json/http_upgrade_websocket.json
+++ b/test/decoders/http/benchmarks/json/http_upgrade_websocket.json
@@ -23,7 +23,8 @@
"Cookie": "s_cc=true; s_sq=%5B%5BB%5D%5D; iwe_user_noticecount_urn%3amace%3aucla.edu%3appid%3aperson%3a1223EF7211FC4EC1965579D0B8D85FBA=2; __utma=125574670.1759122974.1407127284.1407127284.1415755402.2; __utmc=125574670; __utma=126236063.2139843507.1390525421.1433785187.1435706244.46; __utmc=126236063; __utmz=126236063.1427934389.33.5.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=(not%20provided); _ucla_sso=2015-07-02T11%3A34%3A30-07%3A00; _ga=GA1.2.1759122974.1407127284",
"Sec-WebSocket-Key": "sgD1adxQ3mk6BbBqab7owA==",
"Sec-WebSocket-Extensions": "permessage-deflate; client_max_window_bits",
- "__X_HTTP_URL": "spurs.cs.ucla.edu:9696/"
+ "__X_HTTP_URL": "spurs.cs.ucla.edu:9696/",
+ "__X_HTTP_HEADERS_INTERGRATION": "Host: spurs.cs.ucla.edu:9696\r\nConnection: Upgrade\r\nPragma: no-cache\r\nCache-Control: no-cache\r\nUpgrade: websocket\r\nOrigin: null\r\nSec-WebSocket-Version: 13\r\nUser-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.124 Safari/537.36\r\nAccept-Encoding: gzip, deflate, sdch\r\nAccept-Language: en-US,en;q=0.8,lv;q=0.6,ru;q=0.4\r\nCookie: s_cc=true; s_sq=%5B%5BB%5D%5D; iwe_user_noticecount_urn%3amace%3aucla.edu%3appid%3aperson%3a1223EF7211FC4EC1965579D0B8D85FBA=2; __utma=125574670.1759122974.1407127284.1407127284.1415755402.2; __utmc=125574670; __utma=126236063.2139843507.1390525421.1433785187.1435706244.46; __utmc=126236063; __utmz=126236063.1427934389.33.5.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=(not%20provided); _ucla_sso=2015-07-02T11%3A34%3A30-07%3A00; _ga=GA1.2.1759122974.1407127284\r\nSec-WebSocket-Key: sgD1adxQ3mk6BbBqab7owA==\r\nSec-WebSocket-Extensions: permessage-deflate; client_max_window_bits\r\n\r\n"
},
{
"__X_HTTP_TRANSACTION": "response",
@@ -36,6 +37,7 @@
"Connection": "upgrade",
"Sec-WebSocket-Accept": "FRh9fmH0UaoLdY5BSFO4hP2Pcjw=",
"Server": "WebSocket++/0.5.1",
- "Upgrade": "websocket"
+ "Upgrade": "websocket",
+ "__X_HTTP_HEADERS_INTERGRATION": "Connection: upgrade\r\nSec-WebSocket-Accept: FRh9fmH0UaoLdY5BSFO4hP2Pcjw=\r\nServer: WebSocket++/0.5.1\r\nUpgrade: websocket\r\n\r\n"
}
] \ No newline at end of file
diff --git a/test/decoders/http/benchmarks/json/http_url_test_without_host.json b/test/decoders/http/benchmarks/json/http_url_test_without_host.json
index 09427a7..86592c7 100644
--- a/test/decoders/http/benchmarks/json/http_url_test_without_host.json
+++ b/test/decoders/http/benchmarks/json/http_url_test_without_host.json
@@ -11,7 +11,8 @@
"major_version": 1,
"minor_version": 1,
"User-Agent": "no h",
- "__X_HTTP_URL": "192.168.244.128:8080/urltest/ttt"
+ "__X_HTTP_URL": "192.168.244.128:8080/urltest/ttt",
+ "__X_HTTP_HEADERS_INTERGRATION": "User-Agent: no h\r\n\r\n"
},
{
"__X_HTTP_TRANSACTION": "response",
@@ -24,7 +25,7 @@
"Server": "BaseHTTP/0.6 Python/3.6.8",
"Date": "Thu, 14 Mar 2024 06:15:20 GMT",
"Content-type": "application/json",
- "__X_HTTP_RAW_PAYLOAD_MD5": "49dfdd54b01cbcd2d2ab5e9e5ee6b9b9",
- "__X_HTTP_DECOMPRESS_PAYLOAD_MD5": "49dfdd54b01cbcd2d2ab5e9e5ee6b9b9"
+ "__X_HTTP_HEADERS_INTERGRATION": "Server: BaseHTTP/0.6 Python/3.6.8\r\nDate: Thu, 14 Mar 2024 06:15:20 GMT\r\nContent-type: application/json\r\n\r\n",
+ "__X_HTTP_RAW_PAYLOAD_MD5": "49dfdd54b01cbcd2d2ab5e9e5ee6b9b9"
}
] \ No newline at end of file
diff --git a/test/decoders/http/benchmarks/json/http_url_test_without_host_v6.json b/test/decoders/http/benchmarks/json/http_url_test_without_host_v6.json
index 2bc3934..7af1493 100644
--- a/test/decoders/http/benchmarks/json/http_url_test_without_host_v6.json
+++ b/test/decoders/http/benchmarks/json/http_url_test_without_host_v6.json
@@ -19,7 +19,8 @@
"Accept-Encoding": "gzip, deflate",
"Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8",
"If-Modified-Since": "Mon, 05 Aug 2024 00:26:26 GMT",
- "__X_HTTP_URL": "2408:8722:840:f8::83:80/dist/aria.js?appid=1cea560ed256bea7ae52761bd9042164"
+ "__X_HTTP_URL": "2408:8722:840:f8::83:80/dist/aria.js?appid=1cea560ed256bea7ae52761bd9042164",
+ "__X_HTTP_HEADERS_INTERGRATION": "_HOT: ent.govwza.cn\r\nConnection: keep-alive\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36\r\nDNT: 1\r\nAccept: */*\r\nReferer: http://www.airchina.com/\r\nAccept-Encoding: gzip, deflate\r\nAccept-Language: zh-CN,zh;q=0.9,en;q=0.8\r\nIf-Modified-Since: Mon, 05 Aug 2024 00:26:26 GMT\r\n\r\n"
},
{
"__X_HTTP_TRANSACTION": "response",
@@ -37,6 +38,7 @@
"Connection": "close",
"X-Cache-Lookup": "Cache Hit",
"Access-Control-Allow-Origin": "*",
- "Cache-Control": "max-age=86400"
+ "Cache-Control": "max-age=86400",
+ "__X_HTTP_HEADERS_INTERGRATION": "Date: Mon, 05 Aug 2024 07:51:04 GMT\r\nContent-Type: application/javascript;charset=UTF-8\r\nVary: origin,access-control-request-method,access-control-request-headers,accept-encoding\r\nServer: SLT-MID\r\nX-NWS-LOG-UUID: 1242198743243161630\r\nConnection: close\r\nX-Cache-Lookup: Cache Hit\r\nAccess-Control-Allow-Origin: *\r\nCache-Control: max-age=86400\r\n\r\n"
}
] \ No newline at end of file
diff --git a/test/decoders/http/benchmarks/json/http_zlib_deadlock.json b/test/decoders/http/benchmarks/json/http_zlib_deadlock.json
index 0ea9b7f..7b4ac9a 100644
--- a/test/decoders/http/benchmarks/json/http_zlib_deadlock.json
+++ b/test/decoders/http/benchmarks/json/http_zlib_deadlock.json
@@ -17,7 +17,8 @@
"Host": "xmc.ximalaya.com",
"Connection": "Keep-Alive",
"Accept-Encoding": "gzip",
- "__X_HTTP_URL": "xmc.ximalaya.com/xmlymain-login-web/login/ts-1657244122966?appId=mainApp&appStatus=2&clientType=android&isFirstReq=false&lastSuccessIp=180.153.250.247:3814&userId=175776850"
+ "__X_HTTP_URL": "xmc.ximalaya.com/xmlymain-login-web/login/ts-1657244122966?appId=mainApp&appStatus=2&clientType=android&isFirstReq=false&lastSuccessIp=180.153.250.247:3814&userId=175776850",
+ "__X_HTTP_HEADERS_INTERGRATION": "Cookie2: $version=1\r\nAccept: */*\r\nuser-agent: ting_xmim1.0(Mi+10,Android29)\r\nxmTraceId: f30c74a5-c62d-46a0-80bd-d51dbf139976163\r\nHost: xmc.ximalaya.com\r\nConnection: Keep-Alive\r\nAccept-Encoding: gzip\r\n\r\n"
},
{
"__X_HTTP_TRANSACTION": "response",
@@ -37,7 +38,8 @@
"X-NWS-LOG-UUID": "12197298277844186084",
"Connection": "keep-alive",
"X-Cache-Lookup": "Cache Miss",
- "__X_HTTP_RAW_PAYLOAD_MD5": "3979c98326c16f482f364ee94be3c382",
- "__X_HTTP_DECOMPRESS_PAYLOAD_MD5": "d383effc464d797b5fdb4d98f4ab0111"
+ "__X_HTTP_HEADERS_INTERGRATION": "Server: Tengine\r\nDate: Fri, 08 Jul 2022 01:35:24 GMT\r\nContent-Type: application/json;charset=UTF-8\r\nVary: Accept-Encoding\r\nx-idc-gw: 0\r\nContent-Encoding: gzip\r\nTransfer-Encoding: chunked\r\nX-NWS-LOG-UUID: 12197298277844186084\r\nConnection: keep-alive\r\nX-Cache-Lookup: Cache Miss\r\n\r\n",
+ "__X_HTTP_RAW_PAYLOAD_MD5": "3979c98326c16f482f364ee94be3c382",
+ "__X_HTTP_DECOMPRESS_PAYLOAD_MD5": "d383effc464d797b5fdb4d98f4ab0111"
}
] \ No newline at end of file
diff --git a/test/decoders/http/http_gtest.cpp b/test/decoders/http/http_gtest.cpp
index 4f99fb6..305b6ed 100644
--- a/test/decoders/http/http_gtest.cpp
+++ b/test/decoders/http/http_gtest.cpp
@@ -3,11 +3,18 @@
#include <stdio.h>
#include "zlib.h"
#include "md5/md5.h"
-#include "http.h"
#include "http_decoder_private.h"
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+#include "http.h"
+#include "llhttp.h"
#include "brotli/decode.h"
#include "brotli/encode.h"
-#include "event2/buffer.h"
+#ifdef __cplusplus
+}
+#endif
#define ZIP_UNZIP_TEST_DATA_LEN (1024 * 1024)
void httpd_url_decode(const char *string, size_t length, char *ostring, size_t *olen);
@@ -60,27 +67,55 @@ TEST(http_url_decoder, chinese2)
EXPECT_EQ(decoded_url_len, strlen("http://www.baidu.com/\xE7\xBC\x96\xE8\xA7\xA3\xE7\xA0\x81\xE6\xB5\x8B\xE8\xAF\x95\xE5\x93\x88\xE5\x93\x88"));
}
-TEST(http, event_buffer)
+TEST(http, buffer)
{
- struct evbuffer *evbuf = evbuffer_new();
+ struct http_buffer *hbuf = http_buffer_new();
- evbuffer_add(evbuf, "hello", 5);
+ http_buffer_add(hbuf, "hello", 5);
+
+ char *data;
+ size_t len;
+ http_buffer_read(hbuf, &data, &len);
- size_t len = evbuffer_get_length(evbuf);
- EXPECT_EQ(len, 5);
- char outbuf[16];
- len = evbuffer_copyout(evbuf, outbuf, sizeof(outbuf));
EXPECT_EQ(len, 5);
- EXPECT_EQ(0, memcmp(outbuf, "hello", 5));
+ EXPECT_EQ(0, memcmp(data, "hello", 5));
- evbuffer_add(evbuf, ",", 1);
- evbuffer_add(evbuf, "world", 5);
+ http_buffer_add(hbuf, ",", 1);
+ http_buffer_add(hbuf, "world", 5);
- len = evbuffer_copyout(evbuf, outbuf, sizeof(outbuf));
+ http_buffer_read(hbuf, &data, &len);
EXPECT_EQ(len, 11);
- EXPECT_EQ(0, memcmp(outbuf, "hello,world", 11));
+ EXPECT_EQ(0, memcmp(data, "hello,world", 11));
- evbuffer_free(evbuf);
+ http_buffer_free(hbuf);
+}
+
+TEST(http, strtoll)
+{
+ ASSERT_EQ(0, http_strtoll(NULL, 0));
+ ASSERT_EQ(0, http_strtoll("", 1));
+ ASSERT_EQ(0, http_strtoll("abcd", 4));
+ ASSERT_EQ(123, http_strtoll("123", 3));
+ ASSERT_EQ(123, http_strtoll(" 123", 4));
+ ASSERT_EQ(123, http_strtoll(" 123\r\n", 6));
+ ASSERT_EQ(123456789, http_strtoll("123456789", 9));
+}
+
+TEST(http, line_header_is_completed)
+{
+ ASSERT_EQ(0, http_line_header_completed(NULL, 0));
+ ASSERT_EQ(0, http_line_header_completed("GET ", 4));
+ ASSERT_EQ(0, http_line_header_completed("GET / HTTP/1.1\r\n", strlen("GET / HTTP/1.1\r\n")));
+ ASSERT_EQ(strlen("GET / HTTP/1.1\r\n\r\n"), http_line_header_completed("GET / HTTP/1.1\r\n\r\n", strlen("GET / HTTP/1.1\r\n\r\n")));
+}
+
+TEST(http, identify)
+{
+ ASSERT_EQ(-1, http_protocol_identify(NULL, 0));
+ ASSERT_EQ(-1, http_protocol_identify("123", 3));
+ ASSERT_EQ(1, http_protocol_identify("GET / HTTP/1.1\r\n", strlen("GET / HTTP/1.1\r\n")));
+ ASSERT_EQ(1, http_protocol_identify("POST / HTTP/1.1\r\n", strlen("POST / HTTP/1.1\r\n")));
+ ASSERT_EQ(1, http_protocol_identify("HTTP/1.1 200 OK\r\n", strlen("HTTP/1.1 200 OK\r\n")));
}
static int http_compress_use_deflate(unsigned char *indata, size_t indata_len, unsigned char *zip_data, size_t *zip_data_len)
@@ -351,6 +386,226 @@ TEST(http, DISABLED_brotli_ascii)
free(raw_data);
}
+#include "http_decoder_half.c"
+struct gtest_llhttp_callback_flag
+{
+ uint8_t on_message_begin;
+ uint8_t on_message_complete;
+ uint8_t on_uri;
+ uint8_t on_uri_complete;
+ uint8_t on_status;
+ uint8_t on_status_complete;
+ uint8_t on_method;
+ uint8_t on_method_complete;
+ uint8_t on_version;
+ uint8_t on_version_complete;
+ uint8_t on_header_field;
+ uint8_t on_header_field_complete;
+ uint8_t on_header_value;
+ uint8_t on_header_value_complete;
+ uint8_t on_chunk_header;
+ uint8_t on_chunk_header_complete;
+ uint8_t on_headers_complete;
+ uint8_t on_body;
+};
+static struct gtest_llhttp_callback_flag gtest_llhttp_cb_flags;
+static struct http_decoder_half_data gtest_half_data;
+
+static int gtest_llhttp_on_message_begin(UNUSED llhttp_t *http)
+{
+ struct http_decoder_half *half = container_of(http, struct http_decoder_half, parser);
+ half->ref_data->state = HTTP_EVENT_REQ_INIT;
+ gtest_llhttp_cb_flags.on_message_begin++;
+ return 0;
+}
+static int gtest_llhttp_on_message_complete(llhttp_t *http)
+{
+ struct http_decoder_half *half = container_of(http, struct http_decoder_half, parser);
+ http_buffer_free(half->stage_shaper.headers_cache);
+ half->ref_data->state = __HTTP_EVENT_RESERVED;
+ half->stage_shaper.headers_cache = NULL;
+ gtest_llhttp_cb_flags.on_message_complete++;
+ return 0;
+}
+static int gtest_llhttp_on_headers_complete(llhttp_t *http)
+{
+ struct http_decoder_half *half = container_of(http, struct http_decoder_half, parser);
+ half->ref_data->state = HTTP_EVENT_REQ_HDR_END;
+ gtest_llhttp_cb_flags.on_headers_complete++;
+ return 0;
+}
+static int gtest_llhttp_on_uri(UNUSED llhttp_t *http, UNUSED const char *at, UNUSED size_t length)
+{
+ gtest_llhttp_cb_flags.on_uri++;
+ return 0;
+}
+static int gtest_llhttp_on_method(UNUSED llhttp_t *http, UNUSED const char *at, UNUSED size_t length)
+{
+ gtest_llhttp_cb_flags.on_method++;
+ return 0;
+}
+static int gtest_llhttp_on_version(UNUSED llhttp_t *http, UNUSED const char *at, UNUSED size_t length)
+{
+ gtest_llhttp_cb_flags.on_version++;
+ return 0;
+}
+static int gtest_llhttp_on_body(UNUSED llhttp_t *http, UNUSED const char *at, UNUSED size_t length)
+{
+ gtest_llhttp_cb_flags.on_body++;
+ return 0;
+}
+
+static void gtest_llhttp_init(struct http_decoder_half *half)
+{
+ memset(&gtest_half_data, 0, sizeof(gtest_half_data));
+ half->ref_data = &gtest_half_data;
+ llhttp_settings_init(&half->settings);
+ memset(&gtest_llhttp_cb_flags, 0, sizeof(gtest_llhttp_cb_flags));
+ half->settings.on_message_begin = gtest_llhttp_on_message_begin;
+ half->settings.on_message_complete = gtest_llhttp_on_message_complete;
+ half->settings.on_url = gtest_llhttp_on_uri;
+ half->settings.on_method = gtest_llhttp_on_method;
+ half->settings.on_version = gtest_llhttp_on_version;
+ half->settings.on_body = gtest_llhttp_on_body;
+ half->settings.on_headers_complete = gtest_llhttp_on_headers_complete;
+
+ llhttp_init(&half->parser, HTTP_BOTH, &half->settings);
+}
+
+TEST(http, stage_request_completed)
+{
+ const char *newdata = "GET / HTTP/1.1\r\nHost: www.example.com\r\nConnection: keep-alive\r\n\r\n";
+ size_t new_datalen = strlen(newdata);
+ struct http_decoder_half half = {};
+ gtest_llhttp_init(&half);
+
+ http_decoder_half_stage_shaping(&half, newdata, new_datalen);
+
+ llhttp_finish(&half.parser);
+ http_buffer_free(half.stage_shaper.headers_cache);
+
+ ASSERT_EQ(1, gtest_llhttp_cb_flags.on_message_begin);
+ ASSERT_EQ(1, gtest_llhttp_cb_flags.on_method);
+ ASSERT_EQ(1, gtest_llhttp_cb_flags.on_uri);
+ ASSERT_EQ(1, gtest_llhttp_cb_flags.on_version);
+ ASSERT_EQ(1, gtest_llhttp_cb_flags.on_message_complete);
+}
+
+TEST(http, headers_extract)
+{
+ const char *raw_data = "GET / HTTP/1.1\r\nHost: www.example.com\r\nConnection: keep-alive\r\n\r\n";
+ const char *headers_start, *headers_end;
+ http_truncate_extract_headers(raw_data, strlen(raw_data), &headers_start, &headers_end);
+ ASSERT_TRUE(headers_start != NULL);
+ ASSERT_TRUE(headers_end != NULL);
+ ASSERT_EQ(0, memcmp(headers_start, "Host: www.example.com\r\nConnection: keep-alive\r\n\r\n", headers_end - headers_start));
+}
+
+TEST(http, stage_request_with_body)
+{
+ const char *newdata = "GET / HTTP/1.1\r\nHost: www.example.com\r\nConnection: keep-alive\r\nContent-Length: 11\r\n\r\nhello,world";
+ size_t new_datalen = strlen(newdata);
+ struct http_decoder_half half = {};
+ gtest_llhttp_init(&half);
+
+ gtest_half_data.content_length = 11;
+ http_decoder_half_stage_shaping(&half, newdata, new_datalen);
+
+ llhttp_finish(&half.parser);
+ http_buffer_free(half.stage_shaper.headers_cache);
+
+ ASSERT_EQ(1, gtest_llhttp_cb_flags.on_message_begin);
+ ASSERT_EQ(1, gtest_llhttp_cb_flags.on_method);
+ ASSERT_EQ(1, gtest_llhttp_cb_flags.on_uri);
+ ASSERT_EQ(1, gtest_llhttp_cb_flags.on_version);
+ ASSERT_EQ(1, gtest_llhttp_cb_flags.on_body);
+ ASSERT_EQ(1, gtest_llhttp_cb_flags.on_message_complete);
+}
+
+TEST(http, stage_request_with_body_pipeline_many)
+{
+ const char *newdata = "GET / HTTP/1.1\r\nHost: www.example1.com\r\nConnection: keep-alive\r\nContent-Length: 11\r\n\r\nhello,worldGET / HTTP/1.1\r\nHost: www.example2.com\r\nConnection: keep-alive\r\nContent-Length: 11\r\n\r\nhello,secndGET / HTTP/1.1\r\nHost: www.example3.com\r\nConnection: keep-alive\r\nContent-Length: 11\r\n\r\nhello,third";
+ size_t new_datalen = strlen(newdata);
+ struct http_decoder_half half = {};
+ gtest_llhttp_init(&half);
+
+ gtest_half_data.content_length = 11;
+ http_decoder_half_stage_shaping(&half, newdata, new_datalen);
+
+ llhttp_finish(&half.parser);
+ http_buffer_free(half.stage_shaper.headers_cache);
+
+ ASSERT_EQ(3, gtest_llhttp_cb_flags.on_message_begin);
+ ASSERT_EQ(3, gtest_llhttp_cb_flags.on_method);
+ ASSERT_EQ(3, gtest_llhttp_cb_flags.on_uri);
+ ASSERT_EQ(3, gtest_llhttp_cb_flags.on_version);
+ ASSERT_EQ(3, gtest_llhttp_cb_flags.on_body);
+ ASSERT_EQ(3, gtest_llhttp_cb_flags.on_message_complete);
+}
+
+TEST(http, stage_request_with_body_pipeline_many_uncompleted)
+{
+ const char *newdata = "GET / HTTP/1.1\r\nHost: www.example1.com\r\nConnection: keep-alive\r\nContent-Length: 11\r\n\r\nhello,worldGET / HTTP/1.1\r\nHost: www.example2.com\r\nConnection: keep-alive\r\nContent-Length: 11\r\n\r\nhello,secndGET / HTTP/1.1\r\nHost: www.example3.com\r\nConnection: keep-alive\r\nContent-Length: 11\r\n\r\nhello,third";
+ size_t new_datalen = strlen(newdata);
+ struct http_decoder_half half = {};
+ gtest_llhttp_init(&half);
+
+ gtest_half_data.content_length = 11;
+
+ for (size_t i = 0; i < new_datalen; i++)
+ {
+ http_decoder_half_stage_shaping(&half, newdata + i, 1);
+ }
+
+ llhttp_finish(&half.parser);
+ http_buffer_free(half.stage_shaper.headers_cache);
+
+ ASSERT_EQ(3, gtest_llhttp_cb_flags.on_message_begin);
+ ASSERT_EQ(3, gtest_llhttp_cb_flags.on_method);
+ ASSERT_EQ(3, gtest_llhttp_cb_flags.on_uri);
+ ASSERT_EQ(3, gtest_llhttp_cb_flags.on_version);
+ ASSERT_EQ(3, gtest_llhttp_cb_flags.on_message_complete);
+}
+
+TEST(http, stage_request_completed_pipeline)
+{
+ const char *newdata = "GET / HTTP/1.1\r\nHost: www.example1.com\r\nConnection: keep-alive\r\n\r\nGET / HTTP/1.1\r\nHost: www.example2.com\r\nConnection: keep-alive\r\n\r\nGET / HTTP/1.1\r\nHost: www.example3.com\r\nConnection: keep-alive\r\n\r\n";
+ size_t new_datalen = strlen(newdata);
+ struct http_decoder_half half = {};
+ gtest_llhttp_init(&half);
+
+ http_decoder_half_stage_shaping(&half, newdata, new_datalen);
+ llhttp_finish(&half.parser);
+ http_buffer_free(half.stage_shaper.headers_cache);
+
+ ASSERT_EQ(3, gtest_llhttp_cb_flags.on_message_begin);
+ ASSERT_EQ(3, gtest_llhttp_cb_flags.on_method);
+ ASSERT_EQ(3, gtest_llhttp_cb_flags.on_uri);
+ ASSERT_EQ(3, gtest_llhttp_cb_flags.on_version);
+ ASSERT_EQ(3, gtest_llhttp_cb_flags.on_message_complete);
+}
+
+TEST(http, stage_request_uncompleted)
+{
+ const char *newdata = "GET / HTTP/1.1\r\nHost: www.example.com\r\nConnection: keep-alive\r\n\r\n";
+ size_t new_datalen = strlen(newdata);
+ struct http_decoder_half half = {};
+ gtest_llhttp_init(&half);
+
+ for (size_t i = 0; i < new_datalen; i++)
+ {
+ http_decoder_half_stage_shaping(&half, newdata + i, 1);
+ }
+ llhttp_finish(&half.parser);
+ http_buffer_free(half.stage_shaper.headers_cache);
+
+ ASSERT_EQ(1, gtest_llhttp_cb_flags.on_message_begin);
+ ASSERT_EQ(1, gtest_llhttp_cb_flags.on_method);
+ ASSERT_EQ(1, gtest_llhttp_cb_flags.on_uri);
+ ASSERT_EQ(1, gtest_llhttp_cb_flags.on_version);
+ ASSERT_EQ(1, gtest_llhttp_cb_flags.on_message_complete);
+}
+
int main(int argc, char const *argv[])
{
::testing::InitGoogleTest(&argc, (char **)argv);
diff --git a/test/decoders/http/http_test_plug.cpp b/test/decoders/http/http_test_plug.cpp
index d91b552..1b2dedb 100644
--- a/test/decoders/http/http_test_plug.cpp
+++ b/test/decoders/http/http_test_plug.cpp
@@ -18,7 +18,6 @@ extern "C"
int commit_test_result_json(cJSON *node, const char *name);
extern void http_decoder_test_entry(struct session *sess, int topic_id, const void *raw_msg, void *no_use_ctx, void *plugin_env);
extern void http_decoder_test_state_entry(struct session *sess, int topic_id, const void *raw_msg, void *no_use_ctx, void *plugin_env);
- extern void http_decoder_tunnel_entry(struct session *sess, int topic_id, const void *raw_msg, void *no_use_ctx, void *plugin_env);
static on_session_msg_cb_func *g_entry_fun = http_decoder_test_entry;
}
#endif
@@ -35,7 +34,6 @@ struct plug_entry_t
static struct plug_entry_t g_entry_tbl[] = {
{"http_decoder_test_entry", http_decoder_test_entry},
{"http_decoder_test_state_entry", http_decoder_test_state_entry},
- {"http_decoder_tunnel_entry", http_decoder_tunnel_entry},
{NULL, NULL}};
enum http_transaction_type
@@ -166,7 +164,7 @@ void transaction_index_to_json(cJSON *ctx, int transaction_index)
cJSON_AddNumberToObject(ctx, GTEST_HTTP_TRANS_SEQ_NAME, transaction_index);
}
-void req_line_to_json(cJSON *ctx, struct http_request_line *req_line)
+void req_line_to_json(cJSON *ctx, const struct http_request_line *req_line)
{
http_field_to_json(ctx, "method", (char *)req_line->method, req_line->method_len);
http_field_to_json(ctx, "uri", (char *)req_line->uri, req_line->uri_len);
@@ -176,7 +174,7 @@ void req_line_to_json(cJSON *ctx, struct http_request_line *req_line)
cJSON_AddNumberToObject(ctx, "minor_version", req_line->minor_version);
}
-void res_line_to_json(cJSON *ctx, struct http_response_line *res_line)
+void res_line_to_json(cJSON *ctx, const struct http_response_line *res_line)
{
http_field_to_json(ctx, "res_version", (char *)res_line->version, res_line->version_len);
http_field_to_json(ctx, "res_status", (char *)res_line->status, res_line->status_len);
@@ -186,7 +184,7 @@ void res_line_to_json(cJSON *ctx, struct http_response_line *res_line)
cJSON_AddNumberToObject(ctx, "status_code", res_line->status_code);
}
-void http_header_to_json(cJSON *ctx, struct http_header_field *header)
+void http_header_to_json(cJSON *ctx, const struct http_header_field *header)
{
char key[MAX_KEY_STR_LEN] = {0};
if ((header->name == NULL) || (header->value == NULL))
@@ -218,7 +216,7 @@ void http_url_add_to_json(cJSON *ctx, struct http_message *msg)
return;
}
- http_message_get0_raw_url(msg, (const char **)&raw_url_result, &raw_url_result.iov_len);
+ http_message_get0_raw_url(msg, (const char **)&raw_url_result.iov_base, &raw_url_result.iov_len);
if (raw_url_result.iov_base == NULL)
{
return;
@@ -247,6 +245,18 @@ void http_url_add_to_json(cJSON *ctx, struct http_message *msg)
}
}
+void headers_intergration_add_to_json(struct http_message *msg, cJSON *ctx)
+{
+ const char *headers = NULL;
+ size_t headers_len = 0;
+ http_message_get0_headers_intergration(msg, &headers, &headers_len);
+ // fprintf(stderr, "-------------------------------\n");
+ // fprintf(stderr, "headers:%.*s\n", (int)headers_len, headers);
+ // fprintf(stderr, "-------------------------------\n");
+
+ http_field_to_json(ctx, "__X_HTTP_HEADERS_INTERGRATION", (char *)headers, headers_len);
+}
+
static void commit_payload_md5sum(cJSON *last_jnode, struct gtest_plug_exdata_t *gtest_plug_exdata, enum http_transaction_type type)
{
// finish md5 streming hash
@@ -311,6 +321,18 @@ static void commit_last_half_flow_data(struct gtest_plug_exdata_t *gtest_plug_ex
static void http_decoder_test_update_session_tuple4(struct session *sess, struct gtest_plug_exdata_t *gtest_plug_exdata)
{
+ char sess_addr_string[256] = {};
+
+ enum session_state state = session_get_current_state(sess);
+ if (state == SESSION_STATE_CLOSED)
+ {
+ return;
+ }
+
+ struct httpd_session_addr sesaddr = {};
+ httpd_session_get_addr(sess, &sesaddr);
+ http_session_addr_ntop(&sesaddr, sess_addr_string, sizeof(sess_addr_string));
+
if (gtest_plug_exdata->result_jnode[HTTP_TRANSACTION_SESSION] == NULL)
{
const char *human_addr_cstr = session_get0_readable_addr(sess);
@@ -319,6 +341,7 @@ static void http_decoder_test_update_session_tuple4(struct session *sess, struct
fprintf(stderr, "can't get readable_addr, to use session_get0_readable_addr() the sapp_log.conf level must <= INFO\n");
return;
}
+ assert(0 == strncasecmp(human_addr_cstr, sess_addr_string, strlen(sess_addr_string)));
char result_name[MAX_KEY_STR_LEN] = {0};
gtest_plug_exdata->result_jnode[HTTP_TRANSACTION_SESSION] = cJSON_CreateObject();
cJSON_AddStringToObject(gtest_plug_exdata->result_jnode[HTTP_TRANSACTION_SESSION], GTEST_HTTP_TUPLE4_NAME, human_addr_cstr);
@@ -392,9 +415,6 @@ extern "C" void http_decoder_test_entry(struct session *sess, int topic_id, cons
(void)topic_id;
(void)no_use_ctx;
(void)plugin_env;
- struct http_request_line req_line = {};
- struct http_response_line res_line = {};
- struct http_header_field header = {};
hstring body = {};
struct http_message *msg = (struct http_message *)raw_msg;
enum http_message_type msg_type = http_message_get_type(msg);
@@ -406,34 +426,28 @@ extern "C" void http_decoder_test_entry(struct session *sess, int topic_id, cons
session_exdata_set(sess, g_exdata_idx, gtest_plug_exdata);
}
- // if (http_message_type_is_req(sess, msg_type))
- // {
- // cJSON *json = gtest_plug_exdata->result_jnode[HTTP_TRANSACTION_REQ];
- // }
- // else
- // {
- // cJSON *json = gtest_plug_exdata->result_jnode[HTTP_TRANSACTION_RES];
- // }
-
http_decoder_test_update_session_tuple4(sess, gtest_plug_exdata);
switch (msg_type)
{
- case HTTP_MESSAGE_REQ_LINE:
+ case HTTP_MESSAGE_REQ_LINE_HEADERS:
+ {
commit_last_half_flow_data(gtest_plug_exdata, msg, HTTP_TRANSACTION_REQ, 0);
- http_message_get0_request_line(msg, &req_line);
- req_line_to_json(gtest_plug_exdata->result_jnode[HTTP_TRANSACTION_REQ], &req_line);
- break;
- case HTTP_MESSAGE_REQ_HEADER:
- while (http_message_get0_next_header(msg, &header) >= 0)
+ const struct http_request_line *req_line = NULL;
+ req_line = http_message_get0_request_line(msg);
+ req_line_to_json(gtest_plug_exdata->result_jnode[HTTP_TRANSACTION_REQ], req_line);
+
+ const struct http_header_field *current_header = NULL;
+ while ((current_header = http_message_get0_next_header(msg, current_header)) != NULL)
{
- http_header_to_json(gtest_plug_exdata->result_jnode[HTTP_TRANSACTION_REQ], &header);
+ http_header_to_json(gtest_plug_exdata->result_jnode[HTTP_TRANSACTION_REQ], current_header);
}
g_header_count = 1;
- break;
- case HTTP_MESSAGE_REQ_HEADER_END:
http_url_add_to_json(gtest_plug_exdata->result_jnode[HTTP_TRANSACTION_REQ], msg);
- break;
+
+ headers_intergration_add_to_json(msg, gtest_plug_exdata->result_jnode[HTTP_TRANSACTION_REQ]);
+ }
+ break;
case HTTP_MESSAGE_REQ_BODY_START:
case HTTP_MESSAGE_REQ_BODY:
memset(&body, 0, sizeof(hstring));
@@ -450,18 +464,21 @@ extern "C" void http_decoder_test_entry(struct session *sess, int topic_id, cons
append_http_payload(sess, gtest_plug_exdata, PAYLOAD_DECOMPRESS, &body, HTTP_TRANSACTION_REQ);
}
break;
- case HTTP_MESSAGE_RES_LINE:
+ case HTTP_MESSAGE_RES_LINE_HEADERS:
+ {
commit_last_half_flow_data(gtest_plug_exdata, msg, HTTP_TRANSACTION_RES, 0);
- http_message_get0_response_line(msg, &res_line);
- res_line_to_json(gtest_plug_exdata->result_jnode[HTTP_TRANSACTION_RES], &res_line);
- break;
- case HTTP_MESSAGE_RES_HEADER:
- while (http_message_get0_next_header(msg, &header) >= 0)
+ const struct http_response_line *res_line = NULL;
+ res_line = http_message_get0_response_line(msg);
+ res_line_to_json(gtest_plug_exdata->result_jnode[HTTP_TRANSACTION_RES], res_line);
+ const struct http_header_field *current_header = NULL;
+ while ((current_header = http_message_get0_next_header(msg, current_header)) != NULL)
{
- http_header_to_json(gtest_plug_exdata->result_jnode[HTTP_TRANSACTION_RES], &header);
+ http_header_to_json(gtest_plug_exdata->result_jnode[HTTP_TRANSACTION_RES], current_header);
}
g_header_count = 1;
- break;
+ headers_intergration_add_to_json(msg, gtest_plug_exdata->result_jnode[HTTP_TRANSACTION_RES]);
+ }
+ break;
case HTTP_MESSAGE_RES_BODY_START:
case HTTP_MESSAGE_RES_BODY:
memset(&body, 0, sizeof(hstring));
@@ -480,7 +497,12 @@ extern "C" void http_decoder_test_entry(struct session *sess, int topic_id, cons
}
break;
- // to do: check payload
+ // case HTTP_TRANSACTION_END:
+
+ // commit_last_half_flow_data(gtest_plug_exdata, msg, HTTP_TRANSACTION_REQ, 0);
+ // commit_last_half_flow_data(gtest_plug_exdata, msg, HTTP_TRANSACTION_RES, 0);
+ // break;
+
default:
break;
}
@@ -507,14 +529,6 @@ void http_decoder_test_exdata_free(int idx, void *ex_ptr, void *arg)
}
}
-// static int update_config_file(const char *filename, const char *key, const char *value)
-// {
-// char cmd_buf[1024] = {};
-// snprintf(cmd_buf, 1024, "sed 's/^[ \t]*%s=.*/%s=%s/g' -i %s", key, key, value, filename);
-// int ret = system(cmd_buf);
-// return ret;
-// }
-
extern "C" void http_decoder_test_state_entry(struct session *sess, int topic_id, const void *raw_msg, void *no_use_ctx, void *plugin_env)
{
(void)topic_id;
@@ -576,68 +590,6 @@ extern "C" void http_decoder_test_state_entry(struct session *sess, int topic_id
return;
}
-extern "C" void http_decoder_tunnel_entry(struct session *sess, int topic_id, const void *raw_msg, void *no_use_ctx, void *plugin_env)
-{
- (void)topic_id;
- (void)no_use_ctx;
- (void)plugin_env;
- struct gtest_plug_exdata_t *gtest_plug_exdata;
- enum http_tunnel_message_type tmsg_type = http_tunnel_message_type_get((const struct http_tunnel_message *)raw_msg);
- static size_t req_payload_block = 0, req_payload_size = 0;
- static size_t res_payload_block = 0, res_payload_size = 0;
- gtest_plug_exdata = (struct gtest_plug_exdata_t *)session_exdata_get(sess, g_exdata_idx);
-
- switch (tmsg_type)
- {
- case HTTP_TUNNEL_OPENING:
- {
- if (NULL == gtest_plug_exdata)
- {
- gtest_plug_exdata = (struct gtest_plug_exdata_t *)calloc(1, sizeof(struct gtest_plug_exdata_t));
- session_exdata_set(sess, g_exdata_idx, gtest_plug_exdata);
- }
- const char *human_addr_cstr = session_get0_readable_addr(sess);
- gtest_plug_exdata->result_jnode[HTTP_TRANSACTION_REQ] = cJSON_CreateObject();
- gtest_plug_exdata->result_jnode[HTTP_TRANSACTION_RES] = cJSON_CreateObject();
- gtest_plug_exdata->result_jnode[HTTP_TRANSACTION_SESSION] = cJSON_CreateObject();
- cJSON_AddStringToObject(gtest_plug_exdata->result_jnode[HTTP_TRANSACTION_SESSION], GTEST_HTTP_TUPLE4_NAME, human_addr_cstr);
- commit_test_result_json(gtest_plug_exdata->result_jnode[HTTP_TRANSACTION_SESSION], "TUNNEL_NEW");
- }
- break;
-
- case HTTP_TUNNEL_ACTIVE:
- {
- enum flow_type curdir = session_get_flow_type(sess);
- hstring tunnel_payload = {};
- http_tunnel_message_get_payload((const struct http_tunnel_message *)raw_msg, &tunnel_payload);
- if (FLOW_TYPE_C2S == curdir)
- {
- req_payload_block++;
- req_payload_size += tunnel_payload.iov_len;
- }
- else
- {
- res_payload_block++;
- res_payload_size += tunnel_payload.iov_len;
- }
- }
- break;
- case HTTP_TUNNEL_CLOSING:
- {
- cJSON_AddStringToObject(gtest_plug_exdata->result_jnode[HTTP_TRANSACTION_REQ], "flow", "C2S");
- cJSON_AddStringToObject(gtest_plug_exdata->result_jnode[HTTP_TRANSACTION_RES], "flow", "S2C");
- cJSON_AddNumberToObject(gtest_plug_exdata->result_jnode[HTTP_TRANSACTION_REQ], "payload_block", req_payload_block);
- cJSON_AddNumberToObject(gtest_plug_exdata->result_jnode[HTTP_TRANSACTION_REQ], "payload_size", req_payload_size);
- cJSON_AddNumberToObject(gtest_plug_exdata->result_jnode[HTTP_TRANSACTION_RES], "payload_block", res_payload_block);
- cJSON_AddNumberToObject(gtest_plug_exdata->result_jnode[HTTP_TRANSACTION_RES], "payload_size", res_payload_size);
- }
- break;
- default:
- assert(0);
- break;
- }
-}
-
extern "C" void *http_decoder_test_init(struct stellar *st)
{
g_http_gtest_plugin_id = stellar_session_plugin_register(st, NULL, NULL, NULL);
diff --git a/test/decoders/http/test_based_on_stellar/CMakeLists.txt b/test/decoders/http/test_based_on_stellar/CMakeLists.txt
index bc08289..7265d5d 100644
--- a/test/decoders/http/test_based_on_stellar/CMakeLists.txt
+++ b/test/decoders/http/test_based_on_stellar/CMakeLists.txt
@@ -71,6 +71,8 @@ add_test(NAME HTTP_ZLIB_DEADLOCK COMMAND sh -c "ln -sf ${TEST_PCAP_DIR}/http_zl
add_test(NAME HTTP_OUT_OF_ORDER COMMAND sh -c "ln -sf ${TEST_PCAP_DIR}/http_out_of_order.pcap ${TEST_RUN_DIR}/pcap/test.pcap; ./${TEST_MAIN} ${TEST_JSON_DIR}/http_out_of_order.json" WORKING_DIRECTORY ${TEST_RUN_DIR})
add_test(NAME HTTP_GZIP_OUT_OF_ORDER COMMAND sh -c "ln -sf ${TEST_PCAP_DIR}/http_gzip_out_of_order.pcap ${TEST_RUN_DIR}/pcap/test.pcap; ./${TEST_MAIN} ${TEST_JSON_DIR}/http_gzip_out_of_order.json" WORKING_DIRECTORY ${TEST_RUN_DIR})
add_test(NAME HTTP_HEADER_SPLITTING COMMAND sh -c "ln -sf ${TEST_PCAP_DIR}/http_pipeline_header_splitting.pcap ${TEST_RUN_DIR}/pcap/test.pcap; ./${TEST_MAIN} ${TEST_JSON_DIR}/http_pipeline_header_splitting.json" WORKING_DIRECTORY ${TEST_RUN_DIR})
+add_test(NAME HTTP_INCOMPLETE_HEADER COMMAND sh -c "ln -sf ${TEST_PCAP_DIR}/http_incomplete_header.pcap ${TEST_RUN_DIR}/pcap/test.pcap; ./${TEST_MAIN} ${TEST_JSON_DIR}/non_http.json" WORKING_DIRECTORY ${TEST_RUN_DIR})
+# add_test(NAME DISABLED_HTTP_NO_CR_LINE_EOF COMMAND sh -c "ln -sf ${TEST_PCAP_DIR}/http_no_cr_line_eof.pcap ${TEST_RUN_DIR}/pcap/test.pcap; ./${TEST_MAIN} ${TEST_JSON_DIR}/http_no_cr_line_eof.json" WORKING_DIRECTORY ${TEST_RUN_DIR})
set_tests_properties(HTTP_GET_SINGLE_TRANS_TEST
HTTP_GET_MULTI_TRANS_TEST
@@ -100,6 +102,8 @@ set_tests_properties(HTTP_GET_SINGLE_TRANS_TEST
HTTP_OUT_OF_ORDER
HTTP_GZIP_OUT_OF_ORDER
HTTP_HEADER_SPLITTING
+ HTTP_INCOMPLETE_HEADER
+ # DISABLED_HTTP_NO_CR_LINE_EOF
PROPERTIES FIXTURES_REQUIRED HTTP_GTEST)
add_test(NAME HTTP_UPDATE_STATE_PLUG_ENTRY COMMAND bash -c "sed -i 's/name=.*/name=\\x22http_decoder_test_state_entry\\x22/' ${TEST_RUN_DIR}/etc/http/gtest_entry.toml")
diff --git a/test/decoders/http/test_based_on_stellar/env/http_decoder.toml b/test/decoders/http/test_based_on_stellar/env/http_decoder.toml
index a2bb060..c8ba91d 100644
--- a/test/decoders/http/test_based_on_stellar/env/http_decoder.toml
+++ b/test/decoders/http/test_based_on_stellar/env/http_decoder.toml
@@ -13,6 +13,3 @@ stat_interval_pkts=1000
# fieldstat output interval
stat_output_interval=1
-
-# connect tunnel
-proxy_enable=0 \ No newline at end of file