summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorlijia <[email protected]>2024-04-08 15:53:41 +0800
committerlijia <[email protected]>2024-04-08 16:20:02 +0800
commitd2344728cc2fbec37b2186c05634ac509d2fc3c4 (patch)
tree417716a9c95a74984e59a82b35f5979e12405555 /test
parent215e383be1f47cd18c235855d0cee0485f6cb423 (diff)
add payload md5sum test; add self-consistent test.
Diffstat (limited to 'test')
-rw-r--r--test/CMakeLists.txt15
-rw-r--r--test/http_decoder_gtest.cpp49
-rw-r--r--test/http_decoder_gtest.h1
-rw-r--r--test/http_pcap/http_post_single_trans.pcapbin0 -> 1261 bytes
-rw-r--r--test/md5.h28
-rw-r--r--test/test_result_json/http_6over4_single_trans.json1
-rw-r--r--test/test_result_json/http_chunked_res_gzip.json1
-rw-r--r--test/test_result_json/http_get_encoded_uri.json2
-rw-r--r--test/test_result_json/http_get_malformed.json1
-rw-r--r--test/test_result_json/http_get_multi_trans.json288
-rw-r--r--test/test_result_json/http_get_req_pipeline.json1
-rw-r--r--test/test_result_json/http_get_single_trans.json1
-rw-r--r--test/test_result_json/http_hdr_truncated_after_kv.json597
-rw-r--r--test/test_result_json/http_hdr_truncated_in_kv.json1
-rw-r--r--test/test_result_json/http_hdr_value_empty.json2
-rw-r--r--test/test_result_json/http_hdrs_exceed_maximum.json1
-rw-r--r--test/test_result_json/http_multi_parse_error.json2
-rw-r--r--test/test_result_json/http_no_content_length.json1
-rw-r--r--test/test_result_json/http_over_pppoe.json1
-rw-r--r--test/test_result_json/http_over_tcp_keepalive.json85
-rw-r--r--test/test_result_json/http_post_multipart_form_data.json4
-rw-r--r--test/test_result_json/http_post_single_trans.json39
-rw-r--r--test/test_result_json/http_req_1byte_sliding_window.json1
-rw-r--r--test/test_result_json/http_res_1byte_sliding_window.json1
-rw-r--r--test/test_result_json/http_res_gzip.json1
-rw-r--r--test/test_result_json/http_trans_pipeline.json11
-rw-r--r--test/test_result_json/http_tunnel_for_pop3.json1
-rw-r--r--test/test_result_json/http_url_test_with_host.json1
-rw-r--r--test/test_result_json/http_url_test_without_host.json1
29 files changed, 652 insertions, 486 deletions
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 6ee5c6f..42d2fad 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -12,7 +12,7 @@ include_directories(/usr/local/include/cjson)
include_directories(/opt/tsg/framework/include/stellar)
include_directories(/opt/MESA/include/MESA)
-add_executable(gtest_http_decoder http_decoder_driver.cpp http_decoder_stub.cpp http_decoder_gtest.cpp)
+add_executable(gtest_http_decoder http_decoder_driver.cpp http_decoder_stub.cpp http_decoder_gtest.cpp md5.c)
link_directories(${CMAKE_BINARY_DIR}/src)
target_link_libraries(gtest_http_decoder http_decoder gtest pcap MESA_jump_layer cjson-static)
@@ -51,6 +51,7 @@ add_test(NAME HTTP_CHUNKED_RES_GZIP_TEST COMMAND ${TEST_MAIN} -b ${CMAKE_CURREN
add_test(NAME HTTP_OVER_TCP_KEEPALIVE_TEST COMMAND ${TEST_MAIN} -b ${CMAKE_CURRENT_SOURCE_DIR}/test_result_json/http_over_tcp_keepalive.json
-p ${CMAKE_CURRENT_SOURCE_DIR}/http_pcap/http_over_tcp_keepalive.pcap WORKING_DIRECTORY ${TEST_RUN_DIR})
+#todo: support http tunnel to fully parse pop3 protocol
add_test(NAME HTTP_TUNNEL_FOR_POP3_TEST COMMAND ${TEST_MAIN} -b ${CMAKE_CURRENT_SOURCE_DIR}/test_result_json/http_tunnel_for_pop3.json
-p ${CMAKE_CURRENT_SOURCE_DIR}/http_pcap/http_tunnel_for_pop3.pcap WORKING_DIRECTORY ${TEST_RUN_DIR})
@@ -117,6 +118,15 @@ add_test(NAME HTTP_URL_WITHOUT_HOST_TEST COMMAND ${TEST_MAIN} -b ${CMAKE_CURREN
add_test(NAME HTTP_6OVER4_SINGLE_TRANS_TEST COMMAND ${TEST_MAIN} -b ${CMAKE_CURRENT_SOURCE_DIR}/test_result_json/http_6over4_single_trans.json
-p ${CMAKE_CURRENT_SOURCE_DIR}/http_pcap/http_6over4_single_trans.pcap WORKING_DIRECTORY ${TEST_RUN_DIR})
+add_test(NAME HTTP_POST_SINGLE_TRANS_TEST COMMAND ${TEST_MAIN} -b ${CMAKE_CURRENT_SOURCE_DIR}/test_result_json/http_post_single_trans.json
+ -p ${CMAKE_CURRENT_SOURCE_DIR}/http_pcap/http_post_single_trans.pcap WORKING_DIRECTORY ${TEST_RUN_DIR})
+
+add_test(NAME HTTP_SELF_CONSISTENT_V4_TEST COMMAND ${TEST_MAIN} -b ${CMAKE_CURRENT_SOURCE_DIR}/test_result_json/http_get_single_trans.json
+ -s ${CMAKE_CURRENT_SOURCE_DIR}/test_result_json/http_get_single_trans.json WORKING_DIRECTORY ${TEST_RUN_DIR})
+
+add_test(NAME HTTP_SELF_CONSISTENT_V6_TEST COMMAND ${TEST_MAIN} -b ${CMAKE_CURRENT_SOURCE_DIR}/test_result_json/http_6over4_single_trans.json
+ -s ${CMAKE_CURRENT_SOURCE_DIR}/test_result_json/http_6over4_single_trans.json WORKING_DIRECTORY ${TEST_RUN_DIR})
+
set_tests_properties(HTTP_GET_SINGLE_TRANS_TEST
HTTP_GET_SINGLE_TRANS_MSS1_TEST
HTTP_GET_MULTI_TRANS_TEST
@@ -146,4 +156,7 @@ set_tests_properties(HTTP_GET_SINGLE_TRANS_TEST
HTTP_URL_WITH_HOST_TEST
HTTP_URL_WITHOUT_HOST_TEST
HTTP_6OVER4_SINGLE_TRANS_TEST
+ HTTP_POST_SINGLE_TRANS_TEST
+ HTTP_SELF_CONSISTENT_V4_TEST
+ HTTP_SELF_CONSISTENT_V6_TEST
PROPERTIES FIXTURES_REQUIRED TestFixture)
diff --git a/test/http_decoder_gtest.cpp b/test/http_decoder_gtest.cpp
index aa81df2..b43fa66 100644
--- a/test/http_decoder_gtest.cpp
+++ b/test/http_decoder_gtest.cpp
@@ -26,7 +26,7 @@ extern "C"
#include "stellar/stellar.h"
#include "stellar/session_exdata.h"
#include "stellar/session_mq.h"
-
+#include "md5.h"
int commit_test_result_json(cJSON *node, const char *name);
}
#endif
@@ -44,6 +44,7 @@ enum http_transaction_type
struct gtest_plug_exdata_t
{
cJSON *result_jnode[HTTP_TRANSACTION_MAX];
+ MD5_CTX *md5ctx[HTTP_TRANSACTION_MAX];
};
static int g_result_count = 0;
@@ -51,7 +52,7 @@ static int g_header_count = 1;
static int g_exdata_idx = 0;
static int g_topic_id = 0;
-#if 1
+#if 0
void output_http_req_line(struct http_request_line *req_line)
{
char tmp_str[MAX_KEY_STR_LEN] = {0};
@@ -87,7 +88,6 @@ void output_http_header(struct http_header *header)
memcpy(tmp_val, header->val.str, header->val.str_len);
printf("<%s:%s>\n", tmp_key, tmp_val);
}
-#endif
void output_http_body(struct hstring *body, int decompress_flag)
{
@@ -115,6 +115,21 @@ void output_http_body(struct hstring *body, int decompress_flag)
}
printf("\n");
}
+#endif
+
+static void append_http_payload(struct session *sess, struct gtest_plug_exdata_t *gtest_plug_exdata, const struct hstring *body, enum http_transaction_type type)
+{
+ if (NULL == body->str || 0 == body->str_len)
+ {
+ return;
+ }
+ if (NULL == gtest_plug_exdata->md5ctx[type])
+ {
+ gtest_plug_exdata->md5ctx[type] = MMALLOC(MD5_CTX, sizeof(MD5_CTX));
+ MD5Init(gtest_plug_exdata->md5ctx[type]);
+ }
+ MD5Update(gtest_plug_exdata->md5ctx[type], (unsigned char *)body->str, body->str_len);
+}
int http_field_to_json(cJSON *object, const char *key, char *val, size_t val_len)
{
@@ -206,6 +221,22 @@ static void commit_last_half_flow_data(struct session *sess, struct gtest_plug_e
cJSON *last_jnode = gtest_plug_exdata->result_jnode[type];
if (last_jnode)
{
+ // finish md5 streming hash
+ if (gtest_plug_exdata->md5ctx[type])
+ {
+ unsigned char md5_result_bin[16] = {0};
+ unsigned char md5_result_cstr[33] = {0};
+ MD5Final(md5_result_bin, gtest_plug_exdata->md5ctx[type]);
+
+ for (int i = 0; i < 16; i++)
+ sprintf((char *)md5_result_cstr + 2 * i, "%02x", md5_result_bin[i]);
+ md5_result_cstr[32] = '\0';
+
+ cJSON_AddStringToObject(last_jnode, GTEST_HTTP_PAYLOAD_MD5_NAME, (char *)md5_result_cstr);
+ FREE(gtest_plug_exdata->md5ctx[type]);
+ gtest_plug_exdata->md5ctx[type] = NULL;
+ }
+
sprintf(result_name, "%d", g_result_count);
commit_test_result_json(last_jnode, result_name);
gtest_plug_exdata->result_jnode[type] = NULL;
@@ -280,11 +311,11 @@ http_decoder_test_entry(struct session *sess, int topic_id, const void *data,
http_url_add_to_json(gtest_plug_exdata->result_jnode[HTTP_TRANSACTION_REQ], msg);
break;
case HTTP_MESSAGE_REQ_BODY:
- http_message_get_request_raw_body(msg, &body);
- // output_http_body(&body, 0);
-
+ // http_message_get_request_raw_body(msg, &body);
+ // output_http_body(&body, 0);
http_message_get_request_decompress_body(msg, &body);
// output_http_body(&body, 1);
+ append_http_payload(sess, gtest_plug_exdata, &body, HTTP_TRANSACTION_REQ);
break;
case HTTP_MESSAGE_RES_LINE:
commit_last_half_flow_data(sess, gtest_plug_exdata, HTTP_TRANSACTION_RES);
@@ -299,11 +330,11 @@ http_decoder_test_entry(struct session *sess, int topic_id, const void *data,
g_header_count = 1;
break;
case HTTP_MESSAGE_RES_BODY:
- http_message_get_response_raw_body(msg, &body);
- // output_http_body(&body, 0);
-
+ // http_message_get_response_raw_body(msg, &body);
+ // output_http_body(&body, 0);
http_message_get_response_decompress_body(msg, &body);
// output_http_body(&body, 1);
+ append_http_payload(sess, gtest_plug_exdata, &body, HTTP_TRANSACTION_RES);
break;
// to do: check payload
diff --git a/test/http_decoder_gtest.h b/test/http_decoder_gtest.h
index 46b0c43..4412504 100644
--- a/test/http_decoder_gtest.h
+++ b/test/http_decoder_gtest.h
@@ -45,6 +45,7 @@
#define GTEST_HTTP_URL_NAME "__X_HTTP_URL"
#define GTEST_HTTP_TRANS_NAME "__X_HTTP_TRANSACTION"
#define GTEST_HTTP_TUPLE4_NAME "__X_HTTP_TUPLE4"
+#define GTEST_HTTP_PAYLOAD_MD5_NAME "__X_HTTP_PAYLOAD_MD5"
struct fake_exdata_manage
{
diff --git a/test/http_pcap/http_post_single_trans.pcap b/test/http_pcap/http_post_single_trans.pcap
new file mode 100644
index 0000000..dfa37d3
--- /dev/null
+++ b/test/http_pcap/http_post_single_trans.pcap
Binary files differ
diff --git a/test/md5.h b/test/md5.h
index 9f5b5d2..adf5457 100644
--- a/test/md5.h
+++ b/test/md5.h
@@ -34,7 +34,7 @@ typedef unsigned char *POINTER;
typedef unsigned short int UINT2;
/* UINT4 defines a four byte word */
-//typedef unsigned long int UINT4;
+// typedef unsigned long int UINT4;
typedef unsigned int UINT4;
/* PROTO_LIST is defined depending on how PROTOTYPES is defined above.
@@ -48,23 +48,27 @@ typedef unsigned int UINT4;
#endif
/* MD5 context. */
-typedef struct {
- UINT4 state[4]; /* state (ABCD) */
- UINT4 count[2]; /* number of bits, modulo 2^64 (lsb first) */
- unsigned char buffer[64]; /* input buffer */
+typedef struct
+{
+ UINT4 state[4]; /* state (ABCD) */
+ UINT4 count[2]; /* number of bits, modulo 2^64 (lsb first) */
+ unsigned char buffer[64]; /* input buffer */
} MD5_CTX;
-void MD5Init PROTO_LIST ((MD5_CTX *));
-void MD5Update PROTO_LIST ((MD5_CTX *, unsigned char *, unsigned int));
-void MD5Final PROTO_LIST ((unsigned char [16], MD5_CTX *));
-
#ifdef __cplusplus
extern "C"
{
-char *MESA_MD5_sum_str(unsigned char *raw_data, unsigned int raw_data_len, char result[33]);
-char *MESA_MD5_sum_bin(unsigned char *raw_data, unsigned int raw_data_len, char result[16]);
+ void MD5Init(MD5_CTX *context);
+ void MD5Update(
+ MD5_CTX *context, /* context */
+ unsigned char *input, /* input block */
+ unsigned int inputLen); /* length of input block */
+ void MD5Final(
+ unsigned char digest[16], /* message digest */
+ MD5_CTX *context); /* context */
+ char *MESA_MD5_sum_str(unsigned char *raw_data, unsigned int raw_data_len, char result[33]);
+ char *MESA_MD5_sum_bin(unsigned char *raw_data, unsigned int raw_data_len, char result[16]);
}
#endif
-
#endif
diff --git a/test/test_result_json/http_6over4_single_trans.json b/test/test_result_json/http_6over4_single_trans.json
index 4f6244a..d4ba763 100644
--- a/test/test_result_json/http_6over4_single_trans.json
+++ b/test/test_result_json/http_6over4_single_trans.json
@@ -28,6 +28,7 @@
"Connection": "close",
"Content-Type": "text/plain",
"Cache-Control": "max-age=30, must-revalidate",
+ "__X_HTTP_PAYLOAD_MD5": "cd5a4d3fdd5bffc16bf959ef75cf37bc",
"__X_HTTP_RESULT_INDEX": "2"
}
] \ No newline at end of file
diff --git a/test/test_result_json/http_chunked_res_gzip.json b/test/test_result_json/http_chunked_res_gzip.json
index 4da91fd..d60d69b 100644
--- a/test/test_result_json/http_chunked_res_gzip.json
+++ b/test/test_result_json/http_chunked_res_gzip.json
@@ -37,5 +37,6 @@
"X-Slogan1": "Go deep.",
"CF-RAY": "260a3f709d7b0761-AMS",
"Content-Encoding": "gzip",
+ "__X_HTTP_PAYLOAD_MD5": "855f8310be999de806e89a420a95435d",
"__X_HTTP_RESULT_INDEX": "2"
}]
diff --git a/test/test_result_json/http_get_encoded_uri.json b/test/test_result_json/http_get_encoded_uri.json
index 189bf88..e6c72bd 100644
--- a/test/test_result_json/http_get_encoded_uri.json
+++ b/test/test_result_json/http_get_encoded_uri.json
@@ -35,6 +35,7 @@
"Content-Type": "text/html;charset=UTF-8",
"Transfer-Encoding": "chunked",
"Date": "Sat, 18 May 2019 01:36:57 GMT",
+ "__X_HTTP_PAYLOAD_MD5": "d545e0faf20f7ffe90e31cfc1aef1782",
"__X_HTTP_RESULT_INDEX": "2"
}, {
"__X_HTTP_TRANSACTION": "request",
@@ -67,5 +68,6 @@
"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_PAYLOAD_MD5": "3598c468910611a3128d068e20ae0e82",
"__X_HTTP_RESULT_INDEX": "4"
}]
diff --git a/test/test_result_json/http_get_malformed.json b/test/test_result_json/http_get_malformed.json
index fdaa350..384ef5b 100644
--- a/test/test_result_json/http_get_malformed.json
+++ b/test/test_result_json/http_get_malformed.json
@@ -23,6 +23,7 @@
"Date": "Wed, 12 Sep 2018 19:45:55 GMT",
"Content-Type": "text/html",
"Content-Length": "1547",
+ "__X_HTTP_PAYLOAD_MD5": "1807c0ebdda65240e058706d9626d2af",
"__X_HTTP_RESULT_INDEX": "2"
}
] \ No newline at end of file
diff --git a/test/test_result_json/http_get_multi_trans.json b/test/test_result_json/http_get_multi_trans.json
index 6bb4ca4..9cd6b57 100644
--- a/test/test_result_json/http_get_multi_trans.json
+++ b/test/test_result_json/http_get_multi_trans.json
@@ -1,139 +1,149 @@
-
-[{
- "__X_HTTP_TUPLE4": "192.168.50.18.60400>192.168.42.1.80",
- "__X_HTTP_RESULT_INDEX": "0"
- }, {
- "__X_HTTP_TRANSACTION": "request",
- "method": "GET",
- "uri": "/account/login.htm",
- "req_version": "1.1",
- "major_version": 1,
- "minor_version": 1,
- "Host": "test.pro.testin.cn",
- "Connection": "keep-alive",
- "Upgrade-Insecure-Requests": "1",
- "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36",
- "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.9",
- "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_RESULT_INDEX": "1"
- }, {
- "__X_HTTP_TRANSACTION": "response",
- "res_version": "1.1",
- "major_version": 1,
- "minor_version": 1,
- "status_code": 302,
- "Server": "nginx/1.16.1",
- "Date": "Tue, 31 May 2022 06:41:23 GMT",
- "Content-Length": "0",
- "Connection": "keep-alive",
- "Set-Cookie": "JSESSIONID=CFAB9C0C3F4D9D6C2837E3BA9425AFCA; Path=/; HttpOnly",
- "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",
- "__X_HTTP_RESULT_INDEX": "2"
- }, {
- "__X_HTTP_TRANSACTION": "request",
- "method": "GET",
- "uri": "/enterprise/index.htm",
- "req_version": "1.1",
- "major_version": 1,
- "minor_version": 1,
- "Host": "test.pro.testin.cn",
- "Connection": "keep-alive",
- "Upgrade-Insecure-Requests": "1",
- "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36",
- "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.9",
- "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_RESULT_INDEX": "3"
- }, {
- "__X_HTTP_TRANSACTION": "response",
- "res_version": "1.1",
- "major_version": 1,
- "minor_version": 1,
- "status_code": 302,
- "Server": "nginx/1.16.1",
- "Date": "Tue, 31 May 2022 06:41:23 GMT",
- "Content-Length": "0",
- "Connection": "keep-alive",
- "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",
- "__X_HTTP_RESULT_INDEX": "4"
- }, {
- "__X_HTTP_TRANSACTION": "request",
- "method": "GET",
- "uri": "/enterprise/into.htm?eid=1",
- "req_version": "1.1",
- "major_version": 1,
- "minor_version": 1,
- "Host": "test.pro.testin.cn",
- "Connection": "keep-alive",
- "Upgrade-Insecure-Requests": "1",
- "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36",
- "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.9",
- "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_RESULT_INDEX": "5"
- }, {
- "__X_HTTP_TRANSACTION": "response",
- "res_version": "1.1",
- "major_version": 1,
- "minor_version": 1,
- "status_code": 302,
- "Server": "nginx/1.16.1",
- "Date": "Tue, 31 May 2022 06:41:23 GMT",
- "Content-Length": "0",
- "Connection": "keep-alive",
- "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",
- "__X_HTTP_RESULT_INDEX": "6"
- }, {
- "__X_HTTP_TRANSACTION": "request",
- "method": "GET",
- "uri": "/realmachine/index.htm",
- "req_version": "1.1",
- "major_version": 1,
- "minor_version": 1,
- "Host": "test.pro.testin.cn",
- "Connection": "keep-alive",
- "Upgrade-Insecure-Requests": "1",
- "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36",
- "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.9",
- "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_RESULT_INDEX": "7"
- }, {
- "__X_HTTP_TRANSACTION": "response",
- "res_version": "1.1",
- "major_version": 1,
- "minor_version": 1,
- "status_code": 200,
- "Server": "nginx/1.16.1",
- "Date": "Tue, 31 May 2022 06:41:23 GMT",
- "Content-Type": "text/html;charset=UTF-8",
- "Transfer-Encoding": "chunked",
- "Connection": "keep-alive",
- "Vary": "Accept-Encoding",
- "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",
- "Set-Cookie2": "pid_pro=1; Max-Age=28800; Expires=Tue, 31-May-2022 14:41:23 GMT; Domain=testin.cn; Path=/; HttpOnly",
- "Set-Cookie3": "eid_pro=1; Max-Age=28800; Expires=Tue, 31-May-2022 14:41:23 GMT; Domain=testin.cn; Path=/; HttpOnly",
- "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_RESULT_INDEX": "8"
- }] \ No newline at end of file
+[
+ {
+ "__X_HTTP_TUPLE4": "192.168.50.18.60400>192.168.42.1.80",
+ "__X_HTTP_RESULT_INDEX": "0"
+ },
+ {
+ "__X_HTTP_TRANSACTION": "request",
+ "method": "GET",
+ "uri": "/account/login.htm",
+ "req_version": "1.1",
+ "major_version": 1,
+ "minor_version": 1,
+ "Host": "test.pro.testin.cn",
+ "Connection": "keep-alive",
+ "Upgrade-Insecure-Requests": "1",
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36",
+ "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.9",
+ "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_RESULT_INDEX": "1"
+ },
+ {
+ "__X_HTTP_TRANSACTION": "response",
+ "res_version": "1.1",
+ "major_version": 1,
+ "minor_version": 1,
+ "status_code": 302,
+ "Server": "nginx/1.16.1",
+ "Date": "Tue, 31 May 2022 06:41:23 GMT",
+ "Content-Length": "0",
+ "Connection": "keep-alive",
+ "Set-Cookie": "JSESSIONID=CFAB9C0C3F4D9D6C2837E3BA9425AFCA; Path=/; HttpOnly",
+ "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",
+ "__X_HTTP_RESULT_INDEX": "2"
+ },
+ {
+ "__X_HTTP_TRANSACTION": "request",
+ "method": "GET",
+ "uri": "/enterprise/index.htm",
+ "req_version": "1.1",
+ "major_version": 1,
+ "minor_version": 1,
+ "Host": "test.pro.testin.cn",
+ "Connection": "keep-alive",
+ "Upgrade-Insecure-Requests": "1",
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36",
+ "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.9",
+ "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_RESULT_INDEX": "3"
+ },
+ {
+ "__X_HTTP_TRANSACTION": "response",
+ "res_version": "1.1",
+ "major_version": 1,
+ "minor_version": 1,
+ "status_code": 302,
+ "Server": "nginx/1.16.1",
+ "Date": "Tue, 31 May 2022 06:41:23 GMT",
+ "Content-Length": "0",
+ "Connection": "keep-alive",
+ "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",
+ "__X_HTTP_RESULT_INDEX": "4"
+ },
+ {
+ "__X_HTTP_TRANSACTION": "request",
+ "method": "GET",
+ "uri": "/enterprise/into.htm?eid=1",
+ "req_version": "1.1",
+ "major_version": 1,
+ "minor_version": 1,
+ "Host": "test.pro.testin.cn",
+ "Connection": "keep-alive",
+ "Upgrade-Insecure-Requests": "1",
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36",
+ "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.9",
+ "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_RESULT_INDEX": "5"
+ },
+ {
+ "__X_HTTP_TRANSACTION": "response",
+ "res_version": "1.1",
+ "major_version": 1,
+ "minor_version": 1,
+ "status_code": 302,
+ "Server": "nginx/1.16.1",
+ "Date": "Tue, 31 May 2022 06:41:23 GMT",
+ "Content-Length": "0",
+ "Connection": "keep-alive",
+ "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",
+ "__X_HTTP_RESULT_INDEX": "6"
+ },
+ {
+ "__X_HTTP_TRANSACTION": "request",
+ "method": "GET",
+ "uri": "/realmachine/index.htm",
+ "req_version": "1.1",
+ "major_version": 1,
+ "minor_version": 1,
+ "Host": "test.pro.testin.cn",
+ "Connection": "keep-alive",
+ "Upgrade-Insecure-Requests": "1",
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36",
+ "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.9",
+ "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_RESULT_INDEX": "7"
+ },
+ {
+ "__X_HTTP_TRANSACTION": "response",
+ "res_version": "1.1",
+ "major_version": 1,
+ "minor_version": 1,
+ "status_code": 200,
+ "Server": "nginx/1.16.1",
+ "Date": "Tue, 31 May 2022 06:41:23 GMT",
+ "Content-Type": "text/html;charset=UTF-8",
+ "Transfer-Encoding": "chunked",
+ "Connection": "keep-alive",
+ "Vary": "Accept-Encoding",
+ "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",
+ "Set-Cookie2": "pid_pro=1; Max-Age=28800; Expires=Tue, 31-May-2022 14:41:23 GMT; Domain=testin.cn; Path=/; HttpOnly",
+ "Set-Cookie3": "eid_pro=1; Max-Age=28800; Expires=Tue, 31-May-2022 14:41:23 GMT; Domain=testin.cn; Path=/; HttpOnly",
+ "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_PAYLOAD_MD5": "39cb5f3a9cbcfbd16f66e040ec49b8c4",
+ "__X_HTTP_RESULT_INDEX": "8"
+ }
+] \ No newline at end of file
diff --git a/test/test_result_json/http_get_req_pipeline.json b/test/test_result_json/http_get_req_pipeline.json
index a442274..e3c692b 100644
--- a/test/test_result_json/http_get_req_pipeline.json
+++ b/test/test_result_json/http_get_req_pipeline.json
@@ -62,6 +62,7 @@
"Date": "Wed, 25 Oct 2023 06:43:35 GMT",
"Content-Type": "text/html",
"Connection": "close",
+ "__X_HTTP_PAYLOAD_MD5": "6fb335f443cfc8a9d952d27cf3dc1059",
"__X_HTTP_RESULT_INDEX": "4"
}
] \ No newline at end of file
diff --git a/test/test_result_json/http_get_single_trans.json b/test/test_result_json/http_get_single_trans.json
index b227989..98c2c27 100644
--- a/test/test_result_json/http_get_single_trans.json
+++ b/test/test_result_json/http_get_single_trans.json
@@ -25,5 +25,6 @@
"Content-type": "text/html",
"Content-Length": "144",
"Last-Modified": "Thu, 30 Nov 2023 08:38:54 GMT",
+ "__X_HTTP_PAYLOAD_MD5": "3e11876cd3a234541ae37d833c088a76",
"__X_HTTP_RESULT_INDEX": "2"
}]
diff --git a/test/test_result_json/http_hdr_truncated_after_kv.json b/test/test_result_json/http_hdr_truncated_after_kv.json
index 68b5f45..50f1ec6 100644
--- a/test/test_result_json/http_hdr_truncated_after_kv.json
+++ b/test/test_result_json/http_hdr_truncated_after_kv.json
@@ -1,285 +1,312 @@
-[{
- "__X_HTTP_TUPLE4": "196.188.112.76.51494>23.246.50.149.80",
- "__X_HTTP_RESULT_INDEX": "0"
- }, {
- "__X_HTTP_TRANSACTION": "request",
- "method": "GET",
- "uri": "/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABQSwLpJi-yDFZ7k9eqarY3x3-b99vNxxOt5xDeIOapZB6Y5QXPSa54b7cbWYTXYdFimDKCeJ4s7ngqpqByvtt0aLh85nSucLTcR3-OKleuNwVltHUscQhSgVfHc.jpg?r=392",
- "req_version": "1.1",
- "major_version": 1,
- "minor_version": 1,
- "Accept": "image/*",
- "Accept-Encoding": "deflate, gzip",
- "Connection": "Keep-Alive",
- "Host": "occ-0-778-360.1.nflxso.net",
- "Language": "en-ET,en",
- "Referer": "https://secure.netflix.com/us/tvui/ql/patch/20211109_18752/2/release/darwinBootstrap.js?getMainUrlFromCodex=true&taskDefaultTimeoutV2=120000&bootloader_trace=apiusernotnull__false&nq=true&nq_control_tag=tvui-main&startup_key=e38d3c70814421931b0189d91d872546326f05d8f470150d07340df9e9d72275&device_type=TCL-TVS88L&e=TCL-TVS88L0000000000000000342914&env=prod&fromNM=true&nm_prefetch=true&nrdapp_version=2015.1.1&plain=true&dh=720&dw=1280&dar=16_9&reg=undefined&authType=login&authclid=845becf0-992c-46f7-a938-1bc22b097c58&q=source_type%3D1%26additionalDataUrl%3Dhttp%253A%252F%252Flocalhost%253A56789%252Fapps%252FNetflix%252Fdial_data%26source_type_payload%3D",
- "User-Agent": "Gibbon/2015.1.1/2015.1.1: Netflix/2015.1.1 (DEVTYPE=TCL-TVS88L; CERTVER=1)",
- "__X_HTTP_URL": "occ-0-778-360.1.nflxso.net/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABQSwLpJi-yDFZ7k9eqarY3x3-b99vNxxOt5xDeIOapZB6Y5QXPSa54b7cbWYTXYdFimDKCeJ4s7ngqpqByvtt0aLh85nSucLTcR3-OKleuNwVltHUscQhSgVfHc.jpg?r=392",
- "X-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABQSwLpJi-yDFZ7k9eqarY3x3-b99vNxxOt5xDeIOapZB6Y5QXPSa54b7cbWYTXYdFimDKCeJ4s7ngqpqByvtt0aLh85nSucLTcR3-OKleuNwVltHUscQhSgVfHc.jpg?r=392",
- "__X_HTTP_RESULT_INDEX": "1"
- }, {
- "__X_HTTP_TRANSACTION": "request",
- "method": "GET",
- "uri": "/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABUWN8S1k3yM2coX2bwxbP699Jdr0BUqBRzIfiAJXKC5Ywt7DXqJOCjrBSYs36Tny8277IXm2BF_cgTmY18NJlocglKjhaoJhFeGoIg1cwntFduyxyRPP2EJQL5Y.jpg?r=e0e",
- "req_version": "1.1",
- "major_version": 1,
- "minor_version": 1,
- "Accept": "image/*",
- "Accept-Encoding": "deflate, gzip",
- "Connection": "Keep-Alive",
- "Host": "occ-0-778-360.1.nflxso.net",
- "Language": "en-ET,en",
- "Referer": "https://secure.netflix.com/us/tvui/ql/patch/20211109_18752/2/release/darwinBootstrap.js?getMainUrlFromCodex=true&taskDefaultTimeoutV2=120000&bootloader_trace=apiusernotnull__false&nq=true&nq_control_tag=tvui-main&startup_key=e38d3c70814421931b0189d91d872546326f05d8f470150d07340df9e9d72275&device_type=TCL-TVS88L&e=TCL-TVS88L0000000000000000342914&env=prod&fromNM=true&nm_prefetch=true&nrdapp_version=2015.1.1&plain=true&dh=720&dw=1280&dar=16_9&reg=undefined&authType=login&authclid=845becf0-992c-46f7-a938-1bc22b097c58&q=source_type%3D1%26additionalDataUrl%3Dhttp%253A%252F%252Flocalhost%253A56789%252Fapps%252FNetflix%252Fdial_data%26source_type_payload%3D",
- "User-Agent": "Gibbon/2015.1.1/2015.1.1: Netflix/2015.1.1 (DEVTYPE=TCL-TVS88L; CERTVER=1)",
- "__X_HTTP_URL": "occ-0-778-360.1.nflxso.net/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABUWN8S1k3yM2coX2bwxbP699Jdr0BUqBRzIfiAJXKC5Ywt7DXqJOCjrBSYs36Tny8277IXm2BF_cgTmY18NJlocglKjhaoJhFeGoIg1cwntFduyxyRPP2EJQL5Y.jpg?r=e0e",
- "X-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABUWN8S1k3yM2coX2bwxbP699Jdr0BUqBRzIfiAJXKC5Ywt7DXqJOCjrBSYs36Tny8277IXm2BF_cgTmY18NJlocglKjhaoJhFeGoIg1cwntFduyxyRPP2EJQL5Y.jpg?r=e0e",
- "__X_HTTP_RESULT_INDEX": "2"
- }, {
- "__X_HTTP_TRANSACTION": "request",
- "method": "GET",
- "uri": "/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABR1YQS01SaHGzoxgWBJF1Gas0Gv9_DPebb4irdCTRjcQ_FUaVbXFTTrJ68_bvJds1sb28VMq22Qn3oSSKKJ7DdLN8ybgkJooYlCD3gAntrqgIFugqv5Z3kV8rRE.jpg?r=ec7",
- "req_version": "1.1",
- "major_version": 1,
- "minor_version": 1,
- "Accept": "image/*",
- "Accept-Encoding": "deflate, gzip",
- "Connection": "Keep-Alive",
- "Host": "occ-0-778-360.1.nflxso.net",
- "Language": "en-ET,en",
- "Referer": "https://secure.netflix.com/us/tvui/ql/patch/20211109_18752/2/release/darwinBootstrap.js?getMainUrlFromCodex=true&taskDefaultTimeoutV2=120000&bootloader_trace=apiusernotnull__false&nq=true&nq_control_tag=tvui-main&startup_key=e38d3c70814421931b0189d91d872546326f05d8f470150d07340df9e9d72275&device_type=TCL-TVS88L&e=TCL-TVS88L0000000000000000342914&env=prod&fromNM=true&nm_prefetch=true&nrdapp_version=2015.1.1&plain=true&dh=720&dw=1280&dar=16_9&reg=undefined&authType=login&authclid=845becf0-992c-46f7-a938-1bc22b097c58&q=source_type%3D1%26additionalDataUrl%3Dhttp%253A%252F%252Flocalhost%253A56789%252Fapps%252FNetflix%252Fdial_data%26source_type_payload%3D",
- "__X_HTTP_URL": "occ-0-778-360.1.nflxso.net/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABR1YQS01SaHGzoxgWBJF1Gas0Gv9_DPebb4irdCTRjcQ_FUaVbXFTTrJ68_bvJds1sb28VMq22Qn3oSSKKJ7DdLN8ybgkJooYlCD3gAntrqgIFugqv5Z3kV8rRE.jpg?r=ec7",
- "User-Agent": "Gibbon/2015.1.1/2015.1.1: Netflix/2015.1.1 (DEVTYPE=TCL-TVS88L; CERTVER=1)",
- "X-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABR1YQS01SaHGzoxgWBJF1Gas0Gv9_DPebb4irdCTRjcQ_FUaVbXFTTrJ68_bvJds1sb28VMq22Qn3oSSKKJ7DdLN8ybgkJooYlCD3gAntrqgIFugqv5Z3kV8rRE.jpg?r=ec7",
- "__X_HTTP_RESULT_INDEX": "3"
- }, {
- "__X_HTTP_TRANSACTION": "response",
- "res_version": "1.1",
- "res_status": "OK",
- "major_version": 1,
- "minor_version": 1,
- "status_code": 200,
- "Server": "nginx",
- "Date": "Sat, 13 Nov 2021 14:15:58 GMT",
- "Content-Type": "image/jpeg",
- "Content-Length": "18377",
- "Connection": "keep-alive",
- "Cache-Control": "max-age=2592000",
- "Last-Modified": "Wed, 10 Nov 2021 08:00:14 GMT",
- "ETag": "\"c289a42885b30107ad119e2a6e405e4d\"",
- "__X_HTTP_RESULT_INDEX": "4"
- }, {
- "__X_HTTP_TRANSACTION": "request",
- "method": "GET",
- "uri": "/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABYo5IGwDn1LaWbeaa7amS0JhH3bU5MEVlcBsC4OK0mGbea97_xoi8EbqJt8_Zp0bMuuKPE80qUUjb4wq5po_lBtulA.jpg?r=c83",
- "req_version": "1.1",
- "major_version": 1,
- "minor_version": 1,
- "Accept": "image/*",
- "Accept-Encoding": "deflate, gzip",
- "Connection": "Keep-Alive",
- "Host": "occ-0-778-360.1.nflxso.net",
- "Language": "en-ET,en",
- "__X_HTTP_URL": "occ-0-778-360.1.nflxso.net/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABYo5IGwDn1LaWbeaa7amS0JhH3bU5MEVlcBsC4OK0mGbea97_xoi8EbqJt8_Zp0bMuuKPE80qUUjb4wq5po_lBtulA.jpg?r=c83",
- "Referer": "https://secure.netflix.com/us/tvui/ql/patch/20211109_18752/2/release/darwinBootstrap.js?getMainUrlFromCodex=true&taskDefaultTimeoutV2=120000&bootloader_trace=apiusernotnull__false&nq=true&nq_control_tag=tvui-main&startup_key=e38d3c70814421931b0189d91d872546326f05d8f470150d07340df9e9d72275&device_type=TCL-TVS88L&e=TCL-TVS88L0000000000000000342914&env=prod&fromNM=true&nm_prefetch=true&nrdapp_version=2015.1.1&plain=true&dh=720&dw=1280&dar=16_9&reg=undefined&authType=login&authclid=845becf0-992c-46f7-a938-1bc22b097c58&q=source_type%3D1%26additionalDataUrl%3Dhttp%253A%252F%252Flocalhost%253A56789%252Fapps%252FNetflix%252Fdial_data%26source_type_payload%3D",
- "User-Agent": "Gibbon/2015.1.1/2015.1.1: Netflix/2015.1.1 (DEVTYPE=TCL-TVS88L; CERTVER=1)",
- "X-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABYo5IGwDn1LaWbeaa7amS0JhH3bU5MEVlcBsC4OK0mGbea97_xoi8EbqJt8_Zp0bMuuKPE80qUUjb4wq5po_lBtulA.jpg?r=c83",
- "__X_HTTP_RESULT_INDEX": "5"
- }, {
- "__X_HTTP_TRANSACTION": "request",
- "method": "GET",
- "uri": "/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABaYF3Rmi954cg6Afu9jOtirnvF3iIMHPZCCnP34eDeYQXfRGG9Vg0qgn7hHpMVV4jOr8OZmcD2Nb7MhQv6gl-fNmVQ.jpg?r=257",
- "req_version": "1.1",
- "major_version": 1,
- "minor_version": 1,
- "Accept": "image/*",
- "Accept-Encoding": "deflate, gzip",
- "Connection": "Keep-Alive",
- "Host": "occ-0-778-360.1.nflxso.net",
- "Language": "en-ET,en",
- "__X_HTTP_URL": "occ-0-778-360.1.nflxso.net/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABaYF3Rmi954cg6Afu9jOtirnvF3iIMHPZCCnP34eDeYQXfRGG9Vg0qgn7hHpMVV4jOr8OZmcD2Nb7MhQv6gl-fNmVQ.jpg?r=257",
- "Referer": "https://secure.netflix.com/us/tvui/ql/patch/20211109_18752/2/release/darwinBootstrap.js?getMainUrlFromCodex=true&taskDefaultTimeoutV2=120000&bootloader_trace=apiusernotnull__false&nq=true&nq_control_tag=tvui-main&startup_key=e38d3c70814421931b0189d91d872546326f05d8f470150d07340df9e9d72275&device_type=TCL-TVS88L&e=TCL-TVS88L0000000000000000342914&env=prod&fromNM=true&nm_prefetch=true&nrdapp_version=2015.1.1&plain=true&dh=720&dw=1280&dar=16_9&reg=undefined&authType=login&authclid=845becf0-992c-46f7-a938-1bc22b097c58&q=source_type%3D1%26additionalDataUrl%3Dhttp%253A%252F%252Flocalhost%253A56789%252Fapps%252FNetflix%252Fdial_data%26source_type_payload%3D",
- "User-Agent": "Gibbon/2015.1.1/2015.1.1: Netflix/2015.1.1 (DEVTYPE=TCL-TVS88L; CERTVER=1)",
- "X-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABaYF3Rmi954cg6Afu9jOtirnvF3iIMHPZCCnP34eDeYQXfRGG9Vg0qgn7hHpMVV4jOr8OZmcD2Nb7MhQv6gl-fNmVQ.jpg?r=257",
- "__X_HTTP_RESULT_INDEX": "6"
- }, {
- "__X_HTTP_TRANSACTION": "request",
- "method": "GET",
- "uri": "/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABfC-ByjFJSfWZf7MFtjVl3ONnaQ69824xWP1l-cpAFGgAfaNFk4XR9uoHNWwnbG8N2UVDctVKz0a4Uyv0mEnC2kI9Q.jpg?r=532",
- "req_version": "1.1",
- "major_version": 1,
- "minor_version": 1,
- "Accept": "image/*",
- "Accept-Encoding": "deflate, gzip",
- "Connection": "Keep-Alive",
- "Host": "occ-0-778-360.1.nflxso.net",
- "Language": "en-ET,en",
- "__X_HTTP_URL": "occ-0-778-360.1.nflxso.net/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABfC-ByjFJSfWZf7MFtjVl3ONnaQ69824xWP1l-cpAFGgAfaNFk4XR9uoHNWwnbG8N2UVDctVKz0a4Uyv0mEnC2kI9Q.jpg?r=532",
- "Referer": "https://secure.netflix.com/us/tvui/ql/patch/20211109_18752/2/release/darwinBootstrap.js?getMainUrlFromCodex=true&taskDefaultTimeoutV2=120000&bootloader_trace=apiusernotnull__false&nq=true&nq_control_tag=tvui-main&startup_key=e38d3c70814421931b0189d91d872546326f05d8f470150d07340df9e9d72275&device_type=TCL-TVS88L&e=TCL-TVS88L0000000000000000342914&env=prod&fromNM=true&nm_prefetch=true&nrdapp_version=2015.1.1&plain=true&dh=720&dw=1280&dar=16_9&reg=undefined&authType=login&authclid=845becf0-992c-46f7-a938-1bc22b097c58&q=source_type%3D1%26additionalDataUrl%3Dhttp%253A%252F%252Flocalhost%253A56789%252Fapps%252FNetflix%252Fdial_data%26source_type_payload%3D",
- "User-Agent": "Gibbon/2015.1.1/2015.1.1: Netflix/2015.1.1 (DEVTYPE=TCL-TVS88L; CERTVER=1)",
- "X-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABfC-ByjFJSfWZf7MFtjVl3ONnaQ69824xWP1l-cpAFGgAfaNFk4XR9uoHNWwnbG8N2UVDctVKz0a4Uyv0mEnC2kI9Q.jpg?r=532",
- "__X_HTTP_RESULT_INDEX": "7"
- }, {
- "__X_HTTP_TRANSACTION": "request",
- "method": "GET",
- "uri": "/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABSyGFXaB0IqQ6VR92uKMi38mNtoz7eeWxDziAf9VYKfauhh5Qo7FnnCRb31ff6Ez9yTXsqRszsGuz0GA9FVDf_NLn-9F60IcUHm59J73eYX6BD0h4wLLK0Da6YM.jpg?r=aaa",
- "req_version": "1.1",
- "major_version": 1,
- "minor_version": 1,
- "Accept": "image/*",
- "Accept-Encoding": "deflate, gzip",
- "Connection": "Keep-Alive",
- "Host": "occ-0-778-360.1.nflxso.net",
- "Language": "en-ET,en",
- "__X_HTTP_URL": "occ-0-778-360.1.nflxso.net/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABSyGFXaB0IqQ6VR92uKMi38mNtoz7eeWxDziAf9VYKfauhh5Qo7FnnCRb31ff6Ez9yTXsqRszsGuz0GA9FVDf_NLn-9F60IcUHm59J73eYX6BD0h4wLLK0Da6YM.jpg?r=aaa",
- "Referer": "https://secure.netflix.com/us/tvui/ql/patch/20211109_18752/2/release/darwinBootstrap.js?getMainUrlFromCodex=true&taskDefaultTimeoutV2=120000&bootloader_trace=apiusernotnull__false&nq=true&nq_control_tag=tvui-main&startup_key=e38d3c70814421931b0189d91d872546326f05d8f470150d07340df9e9d72275&device_type=TCL-TVS88L&e=TCL-TVS88L0000000000000000342914&env=prod&fromNM=true&nm_prefetch=true&nrdapp_version=2015.1.1&plain=true&dh=720&dw=1280&dar=16_9&reg=undefined&authType=login&authclid=845becf0-992c-46f7-a938-1bc22b097c58&q=source_type%3D1%26additionalDataUrl%3Dhttp%253A%252F%252Flocalhost%253A56789%252Fapps%252FNetflix%252Fdial_data%26source_type_payload%3D",
- "User-Agent": "Gibbon/2015.1.1/2015.1.1: Netflix/2015.1.1 (DEVTYPE=TCL-TVS88L; CERTVER=1)",
- "X-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABSyGFXaB0IqQ6VR92uKMi38mNtoz7eeWxDziAf9VYKfauhh5Qo7FnnCRb31ff6Ez9yTXsqRszsGuz0GA9FVDf_NLn-9F60IcUHm59J73eYX6BD0h4wLLK0Da6YM.jpg?r=aaa",
- "__X_HTTP_RESULT_INDEX": "8"
- }, {
- "__X_HTTP_TRANSACTION": "request",
- "method": "GET",
- "uri": "/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABZbHXQr7bRUpSQ2vQe8F8p3xODTJjUbSjEcLgQrFVyGsPgQT1GVhqGWFetJhebcGrVeZGOTmQ3qvHTe9eBRJdjFsVg.jpg?r=723",
- "req_version": "1.1",
- "major_version": 1,
- "minor_version": 1,
- "Accept": "image/*",
- "Accept-Encoding": "deflate, gzip",
- "Connection": "Keep-Alive",
- "Host": "occ-0-778-360.1.nflxso.net",
- "Language": "en-ET,en",
- "__X_HTTP_URL": "occ-0-778-360.1.nflxso.net/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABZbHXQr7bRUpSQ2vQe8F8p3xODTJjUbSjEcLgQrFVyGsPgQT1GVhqGWFetJhebcGrVeZGOTmQ3qvHTe9eBRJdjFsVg.jpg?r=723",
- "Referer": "https://secure.netflix.com/us/tvui/ql/patch/20211109_18752/2/release/darwinBootstrap.js?getMainUrlFromCodex=true&taskDefaultTimeoutV2=120000&bootloader_trace=apiusernotnull__false&nq=true&nq_control_tag=tvui-main&startup_key=e38d3c70814421931b0189d91d872546326f05d8f470150d07340df9e9d72275&device_type=TCL-TVS88L&e=TCL-TVS88L0000000000000000342914&env=prod&fromNM=true&nm_prefetch=true&nrdapp_version=2015.1.1&plain=true&dh=720&dw=1280&dar=16_9&reg=undefined&authType=login&authclid=845becf0-992c-46f7-a938-1bc22b097c58&q=source_type%3D1%26additionalDataUrl%3Dhttp%253A%252F%252Flocalhost%253A56789%252Fapps%252FNetflix%252Fdial_data%26source_type_payload%3D",
- "User-Agent": "Gibbon/2015.1.1/2015.1.1: Netflix/2015.1.1 (DEVTYPE=TCL-TVS88L; CERTVER=1)",
- "X-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABZbHXQr7bRUpSQ2vQe8F8p3xODTJjUbSjEcLgQrFVyGsPgQT1GVhqGWFetJhebcGrVeZGOTmQ3qvHTe9eBRJdjFsVg.jpg?r=723",
- "__X_HTTP_RESULT_INDEX": "9"
- }, {
- "__X_HTTP_TRANSACTION": "response",
- "res_version": "1.1",
- "res_status": "OK",
- "major_version": 1,
- "minor_version": 1,
- "status_code": 200,
- "Server": "nginx",
- "Date": "Sat, 13 Nov 2021 14:15:58 GMT",
- "Content-Type": "image/jpeg",
- "Content-Length": "13488",
- "Connection": "keep-alive",
- "Cache-Control": "max-age=2592000",
- "Last-Modified": "Mon, 08 Nov 2021 19:50:54 GMT",
- "ETag": "\"35d56b6a0ef3b5857013f44620bd8888\"",
- "__X_HTTP_RESULT_INDEX": "10"
- }, {
- "__X_HTTP_TRANSACTION": "response",
- "res_version": "1.1",
- "res_status": "OK",
- "major_version": 1,
- "minor_version": 1,
- "status_code": 200,
- "Server": "nginx",
- "Date": "Sat, 13 Nov 2021 14:15:58 GMT",
- "Content-Type": "image/jpeg",
- "Content-Length": "14129",
- "Connection": "keep-alive",
- "Cache-Control": "max-age=2592000",
- "Last-Modified": "Tue, 26 Oct 2021 15:12:58 GMT",
- "ETag": "\"bb83961ad5fe366dcbb5240ead69f650\"",
- "__X_HTTP_RESULT_INDEX": "11"
- }, {
- "__X_HTTP_TRANSACTION": "response",
- "res_version": "1.1",
- "res_status": "OK",
- "major_version": 1,
- "minor_version": 1,
- "status_code": 200,
- "Server": "nginx",
- "Date": "Sat, 13 Nov 2021 14:15:58 GMT",
- "Content-Type": "image/jpeg",
- "Content-Length": "11493",
- "Connection": "keep-alive",
- "Cache-Control": "max-age=2592000",
- "Last-Modified": "Thu, 04 Nov 2021 20:44:22 GMT",
- "ETag": "\"c5be6a7137482da270bb2adc8d44a28d\"",
- "__X_HTTP_RESULT_INDEX": "12"
- }, {
- "__X_HTTP_TRANSACTION": "response",
- "res_version": "1.1",
- "res_status": "OK",
- "major_version": 1,
- "minor_version": 1,
- "status_code": 200,
- "Server": "nginx",
- "Date": "Sat, 13 Nov 2021 14:15:58 GMT",
- "Content-Type": "image/jpeg",
- "Content-Length": "14219",
- "Connection": "keep-alive",
- "Cache-Control": "max-age=2592000",
- "Last-Modified": "Sat, 25 Sep 2021 05:02:49 GMT",
- "ETag": "\"61bec96775876749bb57139f86f6b0ca\"",
- "__X_HTTP_RESULT_INDEX": "13"
- }, {
- "__X_HTTP_TRANSACTION": "response",
- "res_version": "1.1",
- "res_status": "OK",
- "major_version": 1,
- "minor_version": 1,
- "status_code": 200,
- "Server": "nginx",
- "Date": "Sat, 13 Nov 2021 14:15:58 GMT",
- "Content-Type": "image/jpeg",
- "Content-Length": "21967",
- "Connection": "keep-alive",
- "Cache-Control": "max-age=2592000",
- "Last-Modified": "Fri, 02 Jul 2021 10:15:04 GMT",
- "ETag": "\"841065529f1e89eabd0ef235a3d3291c\"",
- "__X_HTTP_RESULT_INDEX": "14"
- }, {
- "__X_HTTP_TRANSACTION": "response",
- "res_version": "1.1",
- "res_status": "OK",
- "major_version": 1,
- "minor_version": 1,
- "status_code": 200,
- "Server": "nginx",
- "Date": "Sat, 13 Nov 2021 14:15:58 GMT",
- "Content-Type": "image/jpeg",
- "Content-Length": "21670",
- "Connection": "keep-alive",
- "Cache-Control": "max-age=2592000",
- "Last-Modified": "Tue, 19 Oct 2021 14:00:02 GMT",
- "ETag": "\"21d4b2c21a3a2f26ba665670e8513940\"",
- "__X_HTTP_RESULT_INDEX": "15"
- }, {
- "__X_HTTP_TRANSACTION": "request",
- "method": "GET",
- "uri": "/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABSFXjTUaVrddq_nehO4yuLziSjuekxJuv3oEsyUpmt3oK3InJcXjtZUHrBBuu0EP05WRC8wFVe78VtxtW_ZuZQ65MIcApb0oZF4JoFlHHnv363RbgJn898Q4tQc.jpg?r=590",
- "req_version": "1.1",
- "major_version": 1,
- "minor_version": 1,
- "Accept": "image/*",
- "Accept-Encoding": "deflate, gzip",
- "Connection": "Keep-Alive",
- "Host": "occ-0-778-360.1.nflxso.net",
- "Language": "en-ET,en",
- "Referer": "https://secure.netflix.com/us/tvui/ql/patch/20211109_18752/2/release/darwinBootstrap.js?getMainUrlFromCodex=true&taskDefaultTimeoutV2=120000&bootloader_trace=apiusernotnull__false&nq=true&nq_control_tag=tvui-main&startup_key=e38d3c70814421931b0189d91d872546326f05d8f470150d07340df9e9d72275&device_type=TCL-TVS88L&e=TCL-TVS88L0000000000000000342914&env=prod&fromNM=true&nm_prefetch=true&nrdapp_version=2015.1.1&plain=true&dh=720&dw=1280&dar=16_9&reg=undefined&authType=login&authclid=845becf0-992c-46f7-a938-1bc22b097c58&q=source_type%3D1%26additionalDataUrl%3Dhttp%253A%252F%252Flocalhost%253A56789%252Fapps%252FNetflix%252Fdial_data%26source_type_payload%3D",
- "User-Agent": "Gibbon/2015.1.1/2015.1.1: Netflix/2015.1.1 (DEVTYPE=TCL-TVS88L; CERTVER=1)",
- "__X_HTTP_URL": "occ-0-778-360.1.nflxso.net/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABSFXjTUaVrddq_nehO4yuLziSjuekxJuv3oEsyUpmt3oK3InJcXjtZUHrBBuu0EP05WRC8wFVe78VtxtW_ZuZQ65MIcApb0oZF4JoFlHHnv363RbgJn898Q4tQc.jpg?r=590",
- "X-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABSFXjTUaVrddq_nehO4yuLziSjuekxJuv3oEsyUpmt3oK3InJcXjtZUHrBBuu0EP05WRC8wFVe78VtxtW_ZuZQ65MIcApb0oZF4JoFlHHnv363RbgJn898Q4tQc.jpg?r=590",
- "__X_HTTP_RESULT_INDEX": "16"
- }, {
- "__X_HTTP_TRANSACTION": "response",
- "res_version": "1.1",
- "res_status": "OK",
- "major_version": 1,
- "minor_version": 1,
- "status_code": 200,
- "Server": "nginx",
- "Date": "Sat, 13 Nov 2021 14:15:58 GMT",
- "Content-Type": "image/jpeg",
- "Content-Length": "14215",
- "Connection": "keep-alive",
- "Cache-Control": "max-age=2592000",
- "Last-Modified": "Thu, 11 Nov 2021 17:32:01 GMT",
- "ETag": "\"837a2051f7d0f2899baf54ff20b3d9ad\"",
- "__X_HTTP_RESULT_INDEX": "17"
- }]
+[
+ {
+ "__X_HTTP_TUPLE4": "196.188.112.76.51494>23.246.50.149.80",
+ "__X_HTTP_RESULT_INDEX": "0"
+ },
+ {
+ "__X_HTTP_TRANSACTION": "request",
+ "method": "GET",
+ "uri": "/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABQSwLpJi-yDFZ7k9eqarY3x3-b99vNxxOt5xDeIOapZB6Y5QXPSa54b7cbWYTXYdFimDKCeJ4s7ngqpqByvtt0aLh85nSucLTcR3-OKleuNwVltHUscQhSgVfHc.jpg?r=392",
+ "req_version": "1.1",
+ "major_version": 1,
+ "minor_version": 1,
+ "Accept": "image/*",
+ "Accept-Encoding": "deflate, gzip",
+ "Connection": "Keep-Alive",
+ "Host": "occ-0-778-360.1.nflxso.net",
+ "Language": "en-ET,en",
+ "Referer": "https://secure.netflix.com/us/tvui/ql/patch/20211109_18752/2/release/darwinBootstrap.js?getMainUrlFromCodex=true&taskDefaultTimeoutV2=120000&bootloader_trace=apiusernotnull__false&nq=true&nq_control_tag=tvui-main&startup_key=e38d3c70814421931b0189d91d872546326f05d8f470150d07340df9e9d72275&device_type=TCL-TVS88L&e=TCL-TVS88L0000000000000000342914&env=prod&fromNM=true&nm_prefetch=true&nrdapp_version=2015.1.1&plain=true&dh=720&dw=1280&dar=16_9&reg=undefined&authType=login&authclid=845becf0-992c-46f7-a938-1bc22b097c58&q=source_type%3D1%26additionalDataUrl%3Dhttp%253A%252F%252Flocalhost%253A56789%252Fapps%252FNetflix%252Fdial_data%26source_type_payload%3D",
+ "User-Agent": "Gibbon/2015.1.1/2015.1.1: Netflix/2015.1.1 (DEVTYPE=TCL-TVS88L; CERTVER=1)",
+ "__X_HTTP_URL": "occ-0-778-360.1.nflxso.net/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABQSwLpJi-yDFZ7k9eqarY3x3-b99vNxxOt5xDeIOapZB6Y5QXPSa54b7cbWYTXYdFimDKCeJ4s7ngqpqByvtt0aLh85nSucLTcR3-OKleuNwVltHUscQhSgVfHc.jpg?r=392",
+ "X-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABQSwLpJi-yDFZ7k9eqarY3x3-b99vNxxOt5xDeIOapZB6Y5QXPSa54b7cbWYTXYdFimDKCeJ4s7ngqpqByvtt0aLh85nSucLTcR3-OKleuNwVltHUscQhSgVfHc.jpg?r=392",
+ "__X_HTTP_RESULT_INDEX": "1"
+ },
+ {
+ "__X_HTTP_TRANSACTION": "request",
+ "method": "GET",
+ "uri": "/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABUWN8S1k3yM2coX2bwxbP699Jdr0BUqBRzIfiAJXKC5Ywt7DXqJOCjrBSYs36Tny8277IXm2BF_cgTmY18NJlocglKjhaoJhFeGoIg1cwntFduyxyRPP2EJQL5Y.jpg?r=e0e",
+ "req_version": "1.1",
+ "major_version": 1,
+ "minor_version": 1,
+ "Accept": "image/*",
+ "Accept-Encoding": "deflate, gzip",
+ "Connection": "Keep-Alive",
+ "Host": "occ-0-778-360.1.nflxso.net",
+ "Language": "en-ET,en",
+ "Referer": "https://secure.netflix.com/us/tvui/ql/patch/20211109_18752/2/release/darwinBootstrap.js?getMainUrlFromCodex=true&taskDefaultTimeoutV2=120000&bootloader_trace=apiusernotnull__false&nq=true&nq_control_tag=tvui-main&startup_key=e38d3c70814421931b0189d91d872546326f05d8f470150d07340df9e9d72275&device_type=TCL-TVS88L&e=TCL-TVS88L0000000000000000342914&env=prod&fromNM=true&nm_prefetch=true&nrdapp_version=2015.1.1&plain=true&dh=720&dw=1280&dar=16_9&reg=undefined&authType=login&authclid=845becf0-992c-46f7-a938-1bc22b097c58&q=source_type%3D1%26additionalDataUrl%3Dhttp%253A%252F%252Flocalhost%253A56789%252Fapps%252FNetflix%252Fdial_data%26source_type_payload%3D",
+ "User-Agent": "Gibbon/2015.1.1/2015.1.1: Netflix/2015.1.1 (DEVTYPE=TCL-TVS88L; CERTVER=1)",
+ "__X_HTTP_URL": "occ-0-778-360.1.nflxso.net/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABUWN8S1k3yM2coX2bwxbP699Jdr0BUqBRzIfiAJXKC5Ywt7DXqJOCjrBSYs36Tny8277IXm2BF_cgTmY18NJlocglKjhaoJhFeGoIg1cwntFduyxyRPP2EJQL5Y.jpg?r=e0e",
+ "X-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABUWN8S1k3yM2coX2bwxbP699Jdr0BUqBRzIfiAJXKC5Ywt7DXqJOCjrBSYs36Tny8277IXm2BF_cgTmY18NJlocglKjhaoJhFeGoIg1cwntFduyxyRPP2EJQL5Y.jpg?r=e0e",
+ "__X_HTTP_RESULT_INDEX": "2"
+ },
+ {
+ "__X_HTTP_TRANSACTION": "request",
+ "method": "GET",
+ "uri": "/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABR1YQS01SaHGzoxgWBJF1Gas0Gv9_DPebb4irdCTRjcQ_FUaVbXFTTrJ68_bvJds1sb28VMq22Qn3oSSKKJ7DdLN8ybgkJooYlCD3gAntrqgIFugqv5Z3kV8rRE.jpg?r=ec7",
+ "req_version": "1.1",
+ "major_version": 1,
+ "minor_version": 1,
+ "Accept": "image/*",
+ "Accept-Encoding": "deflate, gzip",
+ "Connection": "Keep-Alive",
+ "Host": "occ-0-778-360.1.nflxso.net",
+ "Language": "en-ET,en",
+ "Referer": "https://secure.netflix.com/us/tvui/ql/patch/20211109_18752/2/release/darwinBootstrap.js?getMainUrlFromCodex=true&taskDefaultTimeoutV2=120000&bootloader_trace=apiusernotnull__false&nq=true&nq_control_tag=tvui-main&startup_key=e38d3c70814421931b0189d91d872546326f05d8f470150d07340df9e9d72275&device_type=TCL-TVS88L&e=TCL-TVS88L0000000000000000342914&env=prod&fromNM=true&nm_prefetch=true&nrdapp_version=2015.1.1&plain=true&dh=720&dw=1280&dar=16_9&reg=undefined&authType=login&authclid=845becf0-992c-46f7-a938-1bc22b097c58&q=source_type%3D1%26additionalDataUrl%3Dhttp%253A%252F%252Flocalhost%253A56789%252Fapps%252FNetflix%252Fdial_data%26source_type_payload%3D",
+ "__X_HTTP_URL": "occ-0-778-360.1.nflxso.net/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABR1YQS01SaHGzoxgWBJF1Gas0Gv9_DPebb4irdCTRjcQ_FUaVbXFTTrJ68_bvJds1sb28VMq22Qn3oSSKKJ7DdLN8ybgkJooYlCD3gAntrqgIFugqv5Z3kV8rRE.jpg?r=ec7",
+ "User-Agent": "Gibbon/2015.1.1/2015.1.1: Netflix/2015.1.1 (DEVTYPE=TCL-TVS88L; CERTVER=1)",
+ "X-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABR1YQS01SaHGzoxgWBJF1Gas0Gv9_DPebb4irdCTRjcQ_FUaVbXFTTrJ68_bvJds1sb28VMq22Qn3oSSKKJ7DdLN8ybgkJooYlCD3gAntrqgIFugqv5Z3kV8rRE.jpg?r=ec7",
+ "__X_HTTP_RESULT_INDEX": "3"
+ },
+ {
+ "__X_HTTP_TRANSACTION": "response",
+ "res_version": "1.1",
+ "res_status": "OK",
+ "major_version": 1,
+ "minor_version": 1,
+ "status_code": 200,
+ "Server": "nginx",
+ "Date": "Sat, 13 Nov 2021 14:15:58 GMT",
+ "Content-Type": "image/jpeg",
+ "Content-Length": "18377",
+ "Connection": "keep-alive",
+ "Cache-Control": "max-age=2592000",
+ "Last-Modified": "Wed, 10 Nov 2021 08:00:14 GMT",
+ "ETag": "\"c289a42885b30107ad119e2a6e405e4d\"",
+ "__X_HTTP_PAYLOAD_MD5": "c289a42885b30107ad119e2a6e405e4d",
+ "__X_HTTP_RESULT_INDEX": "4"
+ },
+ {
+ "__X_HTTP_TRANSACTION": "request",
+ "method": "GET",
+ "uri": "/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABYo5IGwDn1LaWbeaa7amS0JhH3bU5MEVlcBsC4OK0mGbea97_xoi8EbqJt8_Zp0bMuuKPE80qUUjb4wq5po_lBtulA.jpg?r=c83",
+ "req_version": "1.1",
+ "major_version": 1,
+ "minor_version": 1,
+ "Accept": "image/*",
+ "Accept-Encoding": "deflate, gzip",
+ "Connection": "Keep-Alive",
+ "Host": "occ-0-778-360.1.nflxso.net",
+ "Language": "en-ET,en",
+ "__X_HTTP_URL": "occ-0-778-360.1.nflxso.net/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABYo5IGwDn1LaWbeaa7amS0JhH3bU5MEVlcBsC4OK0mGbea97_xoi8EbqJt8_Zp0bMuuKPE80qUUjb4wq5po_lBtulA.jpg?r=c83",
+ "Referer": "https://secure.netflix.com/us/tvui/ql/patch/20211109_18752/2/release/darwinBootstrap.js?getMainUrlFromCodex=true&taskDefaultTimeoutV2=120000&bootloader_trace=apiusernotnull__false&nq=true&nq_control_tag=tvui-main&startup_key=e38d3c70814421931b0189d91d872546326f05d8f470150d07340df9e9d72275&device_type=TCL-TVS88L&e=TCL-TVS88L0000000000000000342914&env=prod&fromNM=true&nm_prefetch=true&nrdapp_version=2015.1.1&plain=true&dh=720&dw=1280&dar=16_9&reg=undefined&authType=login&authclid=845becf0-992c-46f7-a938-1bc22b097c58&q=source_type%3D1%26additionalDataUrl%3Dhttp%253A%252F%252Flocalhost%253A56789%252Fapps%252FNetflix%252Fdial_data%26source_type_payload%3D",
+ "User-Agent": "Gibbon/2015.1.1/2015.1.1: Netflix/2015.1.1 (DEVTYPE=TCL-TVS88L; CERTVER=1)",
+ "X-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABYo5IGwDn1LaWbeaa7amS0JhH3bU5MEVlcBsC4OK0mGbea97_xoi8EbqJt8_Zp0bMuuKPE80qUUjb4wq5po_lBtulA.jpg?r=c83",
+ "__X_HTTP_RESULT_INDEX": "5"
+ },
+ {
+ "__X_HTTP_TRANSACTION": "request",
+ "method": "GET",
+ "uri": "/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABaYF3Rmi954cg6Afu9jOtirnvF3iIMHPZCCnP34eDeYQXfRGG9Vg0qgn7hHpMVV4jOr8OZmcD2Nb7MhQv6gl-fNmVQ.jpg?r=257",
+ "req_version": "1.1",
+ "major_version": 1,
+ "minor_version": 1,
+ "Accept": "image/*",
+ "Accept-Encoding": "deflate, gzip",
+ "Connection": "Keep-Alive",
+ "Host": "occ-0-778-360.1.nflxso.net",
+ "Language": "en-ET,en",
+ "__X_HTTP_URL": "occ-0-778-360.1.nflxso.net/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABaYF3Rmi954cg6Afu9jOtirnvF3iIMHPZCCnP34eDeYQXfRGG9Vg0qgn7hHpMVV4jOr8OZmcD2Nb7MhQv6gl-fNmVQ.jpg?r=257",
+ "Referer": "https://secure.netflix.com/us/tvui/ql/patch/20211109_18752/2/release/darwinBootstrap.js?getMainUrlFromCodex=true&taskDefaultTimeoutV2=120000&bootloader_trace=apiusernotnull__false&nq=true&nq_control_tag=tvui-main&startup_key=e38d3c70814421931b0189d91d872546326f05d8f470150d07340df9e9d72275&device_type=TCL-TVS88L&e=TCL-TVS88L0000000000000000342914&env=prod&fromNM=true&nm_prefetch=true&nrdapp_version=2015.1.1&plain=true&dh=720&dw=1280&dar=16_9&reg=undefined&authType=login&authclid=845becf0-992c-46f7-a938-1bc22b097c58&q=source_type%3D1%26additionalDataUrl%3Dhttp%253A%252F%252Flocalhost%253A56789%252Fapps%252FNetflix%252Fdial_data%26source_type_payload%3D",
+ "User-Agent": "Gibbon/2015.1.1/2015.1.1: Netflix/2015.1.1 (DEVTYPE=TCL-TVS88L; CERTVER=1)",
+ "X-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABaYF3Rmi954cg6Afu9jOtirnvF3iIMHPZCCnP34eDeYQXfRGG9Vg0qgn7hHpMVV4jOr8OZmcD2Nb7MhQv6gl-fNmVQ.jpg?r=257",
+ "__X_HTTP_RESULT_INDEX": "6"
+ },
+ {
+ "__X_HTTP_TRANSACTION": "request",
+ "method": "GET",
+ "uri": "/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABfC-ByjFJSfWZf7MFtjVl3ONnaQ69824xWP1l-cpAFGgAfaNFk4XR9uoHNWwnbG8N2UVDctVKz0a4Uyv0mEnC2kI9Q.jpg?r=532",
+ "req_version": "1.1",
+ "major_version": 1,
+ "minor_version": 1,
+ "Accept": "image/*",
+ "Accept-Encoding": "deflate, gzip",
+ "Connection": "Keep-Alive",
+ "Host": "occ-0-778-360.1.nflxso.net",
+ "Language": "en-ET,en",
+ "__X_HTTP_URL": "occ-0-778-360.1.nflxso.net/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABfC-ByjFJSfWZf7MFtjVl3ONnaQ69824xWP1l-cpAFGgAfaNFk4XR9uoHNWwnbG8N2UVDctVKz0a4Uyv0mEnC2kI9Q.jpg?r=532",
+ "Referer": "https://secure.netflix.com/us/tvui/ql/patch/20211109_18752/2/release/darwinBootstrap.js?getMainUrlFromCodex=true&taskDefaultTimeoutV2=120000&bootloader_trace=apiusernotnull__false&nq=true&nq_control_tag=tvui-main&startup_key=e38d3c70814421931b0189d91d872546326f05d8f470150d07340df9e9d72275&device_type=TCL-TVS88L&e=TCL-TVS88L0000000000000000342914&env=prod&fromNM=true&nm_prefetch=true&nrdapp_version=2015.1.1&plain=true&dh=720&dw=1280&dar=16_9&reg=undefined&authType=login&authclid=845becf0-992c-46f7-a938-1bc22b097c58&q=source_type%3D1%26additionalDataUrl%3Dhttp%253A%252F%252Flocalhost%253A56789%252Fapps%252FNetflix%252Fdial_data%26source_type_payload%3D",
+ "User-Agent": "Gibbon/2015.1.1/2015.1.1: Netflix/2015.1.1 (DEVTYPE=TCL-TVS88L; CERTVER=1)",
+ "X-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABfC-ByjFJSfWZf7MFtjVl3ONnaQ69824xWP1l-cpAFGgAfaNFk4XR9uoHNWwnbG8N2UVDctVKz0a4Uyv0mEnC2kI9Q.jpg?r=532",
+ "__X_HTTP_RESULT_INDEX": "7"
+ },
+ {
+ "__X_HTTP_TRANSACTION": "request",
+ "method": "GET",
+ "uri": "/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABSyGFXaB0IqQ6VR92uKMi38mNtoz7eeWxDziAf9VYKfauhh5Qo7FnnCRb31ff6Ez9yTXsqRszsGuz0GA9FVDf_NLn-9F60IcUHm59J73eYX6BD0h4wLLK0Da6YM.jpg?r=aaa",
+ "req_version": "1.1",
+ "major_version": 1,
+ "minor_version": 1,
+ "Accept": "image/*",
+ "Accept-Encoding": "deflate, gzip",
+ "Connection": "Keep-Alive",
+ "Host": "occ-0-778-360.1.nflxso.net",
+ "Language": "en-ET,en",
+ "__X_HTTP_URL": "occ-0-778-360.1.nflxso.net/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABSyGFXaB0IqQ6VR92uKMi38mNtoz7eeWxDziAf9VYKfauhh5Qo7FnnCRb31ff6Ez9yTXsqRszsGuz0GA9FVDf_NLn-9F60IcUHm59J73eYX6BD0h4wLLK0Da6YM.jpg?r=aaa",
+ "Referer": "https://secure.netflix.com/us/tvui/ql/patch/20211109_18752/2/release/darwinBootstrap.js?getMainUrlFromCodex=true&taskDefaultTimeoutV2=120000&bootloader_trace=apiusernotnull__false&nq=true&nq_control_tag=tvui-main&startup_key=e38d3c70814421931b0189d91d872546326f05d8f470150d07340df9e9d72275&device_type=TCL-TVS88L&e=TCL-TVS88L0000000000000000342914&env=prod&fromNM=true&nm_prefetch=true&nrdapp_version=2015.1.1&plain=true&dh=720&dw=1280&dar=16_9&reg=undefined&authType=login&authclid=845becf0-992c-46f7-a938-1bc22b097c58&q=source_type%3D1%26additionalDataUrl%3Dhttp%253A%252F%252Flocalhost%253A56789%252Fapps%252FNetflix%252Fdial_data%26source_type_payload%3D",
+ "User-Agent": "Gibbon/2015.1.1/2015.1.1: Netflix/2015.1.1 (DEVTYPE=TCL-TVS88L; CERTVER=1)",
+ "X-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABSyGFXaB0IqQ6VR92uKMi38mNtoz7eeWxDziAf9VYKfauhh5Qo7FnnCRb31ff6Ez9yTXsqRszsGuz0GA9FVDf_NLn-9F60IcUHm59J73eYX6BD0h4wLLK0Da6YM.jpg?r=aaa",
+ "__X_HTTP_RESULT_INDEX": "8"
+ },
+ {
+ "__X_HTTP_TRANSACTION": "request",
+ "method": "GET",
+ "uri": "/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABZbHXQr7bRUpSQ2vQe8F8p3xODTJjUbSjEcLgQrFVyGsPgQT1GVhqGWFetJhebcGrVeZGOTmQ3qvHTe9eBRJdjFsVg.jpg?r=723",
+ "req_version": "1.1",
+ "major_version": 1,
+ "minor_version": 1,
+ "Accept": "image/*",
+ "Accept-Encoding": "deflate, gzip",
+ "Connection": "Keep-Alive",
+ "Host": "occ-0-778-360.1.nflxso.net",
+ "Language": "en-ET,en",
+ "__X_HTTP_URL": "occ-0-778-360.1.nflxso.net/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABZbHXQr7bRUpSQ2vQe8F8p3xODTJjUbSjEcLgQrFVyGsPgQT1GVhqGWFetJhebcGrVeZGOTmQ3qvHTe9eBRJdjFsVg.jpg?r=723",
+ "Referer": "https://secure.netflix.com/us/tvui/ql/patch/20211109_18752/2/release/darwinBootstrap.js?getMainUrlFromCodex=true&taskDefaultTimeoutV2=120000&bootloader_trace=apiusernotnull__false&nq=true&nq_control_tag=tvui-main&startup_key=e38d3c70814421931b0189d91d872546326f05d8f470150d07340df9e9d72275&device_type=TCL-TVS88L&e=TCL-TVS88L0000000000000000342914&env=prod&fromNM=true&nm_prefetch=true&nrdapp_version=2015.1.1&plain=true&dh=720&dw=1280&dar=16_9&reg=undefined&authType=login&authclid=845becf0-992c-46f7-a938-1bc22b097c58&q=source_type%3D1%26additionalDataUrl%3Dhttp%253A%252F%252Flocalhost%253A56789%252Fapps%252FNetflix%252Fdial_data%26source_type_payload%3D",
+ "User-Agent": "Gibbon/2015.1.1/2015.1.1: Netflix/2015.1.1 (DEVTYPE=TCL-TVS88L; CERTVER=1)",
+ "X-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABZbHXQr7bRUpSQ2vQe8F8p3xODTJjUbSjEcLgQrFVyGsPgQT1GVhqGWFetJhebcGrVeZGOTmQ3qvHTe9eBRJdjFsVg.jpg?r=723",
+ "__X_HTTP_RESULT_INDEX": "9"
+ },
+ {
+ "__X_HTTP_TRANSACTION": "response",
+ "res_version": "1.1",
+ "res_status": "OK",
+ "major_version": 1,
+ "minor_version": 1,
+ "status_code": 200,
+ "Server": "nginx",
+ "Date": "Sat, 13 Nov 2021 14:15:58 GMT",
+ "Content-Type": "image/jpeg",
+ "Content-Length": "13488",
+ "Connection": "keep-alive",
+ "Cache-Control": "max-age=2592000",
+ "Last-Modified": "Mon, 08 Nov 2021 19:50:54 GMT",
+ "ETag": "\"35d56b6a0ef3b5857013f44620bd8888\"",
+ "__X_HTTP_PAYLOAD_MD5": "35d56b6a0ef3b5857013f44620bd8888",
+ "__X_HTTP_RESULT_INDEX": "10"
+ },
+ {
+ "__X_HTTP_TRANSACTION": "response",
+ "res_version": "1.1",
+ "res_status": "OK",
+ "major_version": 1,
+ "minor_version": 1,
+ "status_code": 200,
+ "Server": "nginx",
+ "Date": "Sat, 13 Nov 2021 14:15:58 GMT",
+ "Content-Type": "image/jpeg",
+ "Content-Length": "14129",
+ "Connection": "keep-alive",
+ "Cache-Control": "max-age=2592000",
+ "Last-Modified": "Tue, 26 Oct 2021 15:12:58 GMT",
+ "ETag": "\"bb83961ad5fe366dcbb5240ead69f650\"",
+ "__X_HTTP_PAYLOAD_MD5": "bb83961ad5fe366dcbb5240ead69f650",
+ "__X_HTTP_RESULT_INDEX": "11"
+ },
+ {
+ "__X_HTTP_TRANSACTION": "response",
+ "res_version": "1.1",
+ "res_status": "OK",
+ "major_version": 1,
+ "minor_version": 1,
+ "status_code": 200,
+ "Server": "nginx",
+ "Date": "Sat, 13 Nov 2021 14:15:58 GMT",
+ "Content-Type": "image/jpeg",
+ "Content-Length": "11493",
+ "Connection": "keep-alive",
+ "Cache-Control": "max-age=2592000",
+ "Last-Modified": "Thu, 04 Nov 2021 20:44:22 GMT",
+ "ETag": "\"c5be6a7137482da270bb2adc8d44a28d\"",
+ "__X_HTTP_PAYLOAD_MD5": "c5be6a7137482da270bb2adc8d44a28d",
+ "__X_HTTP_RESULT_INDEX": "12"
+ },
+ {
+ "__X_HTTP_TRANSACTION": "response",
+ "res_version": "1.1",
+ "res_status": "OK",
+ "major_version": 1,
+ "minor_version": 1,
+ "status_code": 200,
+ "Server": "nginx",
+ "Date": "Sat, 13 Nov 2021 14:15:58 GMT",
+ "Content-Type": "image/jpeg",
+ "Content-Length": "14219",
+ "Connection": "keep-alive",
+ "Cache-Control": "max-age=2592000",
+ "Last-Modified": "Sat, 25 Sep 2021 05:02:49 GMT",
+ "ETag": "\"61bec96775876749bb57139f86f6b0ca\"",
+ "__X_HTTP_PAYLOAD_MD5": "61bec96775876749bb57139f86f6b0ca",
+ "__X_HTTP_RESULT_INDEX": "13"
+ },
+ {
+ "__X_HTTP_TRANSACTION": "response",
+ "res_version": "1.1",
+ "res_status": "OK",
+ "major_version": 1,
+ "minor_version": 1,
+ "status_code": 200,
+ "Server": "nginx",
+ "Date": "Sat, 13 Nov 2021 14:15:58 GMT",
+ "Content-Type": "image/jpeg",
+ "Content-Length": "21967",
+ "Connection": "keep-alive",
+ "Cache-Control": "max-age=2592000",
+ "Last-Modified": "Fri, 02 Jul 2021 10:15:04 GMT",
+ "ETag": "\"841065529f1e89eabd0ef235a3d3291c\"",
+ "__X_HTTP_PAYLOAD_MD5": "841065529f1e89eabd0ef235a3d3291c",
+ "__X_HTTP_RESULT_INDEX": "14"
+ },
+ {
+ "__X_HTTP_TRANSACTION": "response",
+ "res_version": "1.1",
+ "res_status": "OK",
+ "major_version": 1,
+ "minor_version": 1,
+ "status_code": 200,
+ "Server": "nginx",
+ "Date": "Sat, 13 Nov 2021 14:15:58 GMT",
+ "Content-Type": "image/jpeg",
+ "Content-Length": "21670",
+ "Connection": "keep-alive",
+ "Cache-Control": "max-age=2592000",
+ "Last-Modified": "Tue, 19 Oct 2021 14:00:02 GMT",
+ "ETag": "\"21d4b2c21a3a2f26ba665670e8513940\"",
+ "__X_HTTP_PAYLOAD_MD5": "21d4b2c21a3a2f26ba665670e8513940",
+ "__X_HTTP_RESULT_INDEX": "15"
+ },
+ {
+ "__X_HTTP_TRANSACTION": "request",
+ "method": "GET",
+ "uri": "/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABSFXjTUaVrddq_nehO4yuLziSjuekxJuv3oEsyUpmt3oK3InJcXjtZUHrBBuu0EP05WRC8wFVe78VtxtW_ZuZQ65MIcApb0oZF4JoFlHHnv363RbgJn898Q4tQc.jpg?r=590",
+ "req_version": "1.1",
+ "major_version": 1,
+ "minor_version": 1,
+ "Accept": "image/*",
+ "Accept-Encoding": "deflate, gzip",
+ "Connection": "Keep-Alive",
+ "Host": "occ-0-778-360.1.nflxso.net",
+ "Language": "en-ET,en",
+ "Referer": "https://secure.netflix.com/us/tvui/ql/patch/20211109_18752/2/release/darwinBootstrap.js?getMainUrlFromCodex=true&taskDefaultTimeoutV2=120000&bootloader_trace=apiusernotnull__false&nq=true&nq_control_tag=tvui-main&startup_key=e38d3c70814421931b0189d91d872546326f05d8f470150d07340df9e9d72275&device_type=TCL-TVS88L&e=TCL-TVS88L0000000000000000342914&env=prod&fromNM=true&nm_prefetch=true&nrdapp_version=2015.1.1&plain=true&dh=720&dw=1280&dar=16_9&reg=undefined&authType=login&authclid=845becf0-992c-46f7-a938-1bc22b097c58&q=source_type%3D1%26additionalDataUrl%3Dhttp%253A%252F%252Flocalhost%253A56789%252Fapps%252FNetflix%252Fdial_data%26source_type_payload%3D",
+ "User-Agent": "Gibbon/2015.1.1/2015.1.1: Netflix/2015.1.1 (DEVTYPE=TCL-TVS88L; CERTVER=1)",
+ "__X_HTTP_URL": "occ-0-778-360.1.nflxso.net/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABSFXjTUaVrddq_nehO4yuLziSjuekxJuv3oEsyUpmt3oK3InJcXjtZUHrBBuu0EP05WRC8wFVe78VtxtW_ZuZQ65MIcApb0oZF4JoFlHHnv363RbgJn898Q4tQc.jpg?r=590",
+ "X-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABSFXjTUaVrddq_nehO4yuLziSjuekxJuv3oEsyUpmt3oK3InJcXjtZUHrBBuu0EP05WRC8wFVe78VtxtW_ZuZQ65MIcApb0oZF4JoFlHHnv363RbgJn898Q4tQc.jpg?r=590",
+ "__X_HTTP_RESULT_INDEX": "16"
+ },
+ {
+ "__X_HTTP_TRANSACTION": "response",
+ "res_version": "1.1",
+ "res_status": "OK",
+ "major_version": 1,
+ "minor_version": 1,
+ "status_code": 200,
+ "Server": "nginx",
+ "Date": "Sat, 13 Nov 2021 14:15:58 GMT",
+ "Content-Type": "image/jpeg",
+ "Content-Length": "14215",
+ "Connection": "keep-alive",
+ "Cache-Control": "max-age=2592000",
+ "Last-Modified": "Thu, 11 Nov 2021 17:32:01 GMT",
+ "ETag": "\"837a2051f7d0f2899baf54ff20b3d9ad\"",
+ "__X_HTTP_PAYLOAD_MD5": "f18a76ecf35648cb46ea6f42e4391cb8",
+ "__X_HTTP_RESULT_INDEX": "17"
+ }
+] \ No newline at end of file
diff --git a/test/test_result_json/http_hdr_truncated_in_kv.json b/test/test_result_json/http_hdr_truncated_in_kv.json
index f123f6d..966572e 100644
--- a/test/test_result_json/http_hdr_truncated_in_kv.json
+++ b/test/test_result_json/http_hdr_truncated_in_kv.json
@@ -48,6 +48,7 @@
"X-Robots-Tag4": "noindex, nofollow",
"Report-To": "{ \"url\": \"https://pxl.tsyndicate.com/api/v1/heavy-ad/report\", \"max_age\": 86401 }",
"Content-Encoding": "gzip",
+ "__X_HTTP_PAYLOAD_MD5": "075802aa31b42d465d56b213915fb0a2",
"__X_HTTP_RESULT_INDEX": "2"
}
] \ No newline at end of file
diff --git a/test/test_result_json/http_hdr_value_empty.json b/test/test_result_json/http_hdr_value_empty.json
index aface09..2d7483d 100644
--- a/test/test_result_json/http_hdr_value_empty.json
+++ b/test/test_result_json/http_hdr_value_empty.json
@@ -16,6 +16,7 @@
"Date": "Sat Sep 7 10:04:57 2019",
"Content-Length": "468",
"__X_HTTP_URL": "http://:4445/RPC2",
+ "__X_HTTP_PAYLOAD_MD5": "033e27f72bc41b4a7e222df464749420",
"__X_HTTP_RESULT_INDEX": "1"
},
{
@@ -30,6 +31,7 @@
"Transfer-Encoding": "chunked",
"X-Powered-By": "ulxmlrpcpp/1.7.4",
"Date": "Sat Sep 7 01:09:08 2019",
+ "__X_HTTP_PAYLOAD_MD5": "69db29507d10b0d57fcaa5afffd81934",
"__X_HTTP_RESULT_INDEX": "2"
}
] \ No newline at end of file
diff --git a/test/test_result_json/http_hdrs_exceed_maximum.json b/test/test_result_json/http_hdrs_exceed_maximum.json
index 09b7311..105588e 100644
--- a/test/test_result_json/http_hdrs_exceed_maximum.json
+++ b/test/test_result_json/http_hdrs_exceed_maximum.json
@@ -42,5 +42,6 @@
"Keep-Alive": "timeout=15",
"Connection": "Keep-Alive",
"Content-Type": "image/gif",
+ "__X_HTTP_PAYLOAD_MD5": "ad480fd0732d0f6f1a8b06359e3a42bb",
"__X_HTTP_RESULT_INDEX": "2"
}]
diff --git a/test/test_result_json/http_multi_parse_error.json b/test/test_result_json/http_multi_parse_error.json
index 8111a6f..d50c449 100644
--- a/test/test_result_json/http_multi_parse_error.json
+++ b/test/test_result_json/http_multi_parse_error.json
@@ -16,6 +16,7 @@
"Date": "Sat Sep 7 10:05:13 2019",
"Content-Length": "468",
"__X_HTTP_URL": "http://:4445/RPC2",
+ "__X_HTTP_PAYLOAD_MD5": "6eccbcf261f04aabfa69884aa283f4f3",
"__X_HTTP_RESULT_INDEX": "1"
},
{
@@ -30,6 +31,7 @@
"Transfer-Encoding": "chunked",
"X-Powered-By": "ulxmlrpcpp/1.7.4",
"Date": "Sat Sep 7 01:09:24 2019",
+ "__X_HTTP_PAYLOAD_MD5": "5cf8a4aa9a54e7f2d05b55ed05bf9071",
"__X_HTTP_RESULT_INDEX": "2"
}
] \ No newline at end of file
diff --git a/test/test_result_json/http_no_content_length.json b/test/test_result_json/http_no_content_length.json
index 93ca066..04d4ad4 100644
--- a/test/test_result_json/http_no_content_length.json
+++ b/test/test_result_json/http_no_content_length.json
@@ -40,6 +40,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_PAYLOAD_MD5": "9fb54a2726ca3cf54a82804d0e66d08a",
"__X_HTTP_RESULT_INDEX": "2"
}
] \ No newline at end of file
diff --git a/test/test_result_json/http_over_pppoe.json b/test/test_result_json/http_over_pppoe.json
index 23856ca..c2ff274 100644
--- a/test/test_result_json/http_over_pppoe.json
+++ b/test/test_result_json/http_over_pppoe.json
@@ -30,6 +30,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_PAYLOAD_MD5": "624520ac54235ac2284ed2dd2b17e1ad",
"__X_HTTP_RESULT_INDEX": "2"
}
] \ No newline at end of file
diff --git a/test/test_result_json/http_over_tcp_keepalive.json b/test/test_result_json/http_over_tcp_keepalive.json
index 1481cb7..2231a2d 100644
--- a/test/test_result_json/http_over_tcp_keepalive.json
+++ b/test/test_result_json/http_over_tcp_keepalive.json
@@ -1,40 +1,45 @@
-[{
- "__X_HTTP_TUPLE4": "192.168.56.66.55356>60.190.243.167.80",
- "__X_HTTP_RESULT_INDEX": "0"
- }, {
- "__X_HTTP_TRANSACTION": "request",
- "method": "GET",
- "uri": "/",
- "req_version": "1.1",
- "major_version": 1,
- "minor_version": 1,
- "Host": "www.yumi.com",
- "Connection": "keep-alive",
- "Cache-Control": "max-age=0",
- "Upgrade-Insecure-Requests": "1",
- "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.61 Safari/537.36",
- "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.9",
- "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_RESULT_INDEX": "1"
- }, {
- "__X_HTTP_TRANSACTION": "response",
- "res_version": "1.1",
- "res_status": "OK",
- "major_version": 1,
- "minor_version": 1,
- "status_code": 200,
- "Server": "Tengine",
- "Date": "Fri, 19 Nov 2021 09:57:40 GMT",
- "Content-Type": "text/html",
- "Transfer-Encoding": "chunked",
- "Connection": "keep-alive",
- "Vary": "Accept-Encoding",
- "Set-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",
- "Pragma": "no-cache",
- "Cache-Control": "no-store",
- "Content-Encoding": "gzip",
- "__X_HTTP_RESULT_INDEX": "2"
- }]
+[
+ {
+ "__X_HTTP_TUPLE4": "192.168.56.66.55356>60.190.243.167.80",
+ "__X_HTTP_RESULT_INDEX": "0"
+ },
+ {
+ "__X_HTTP_TRANSACTION": "request",
+ "method": "GET",
+ "uri": "/",
+ "req_version": "1.1",
+ "major_version": 1,
+ "minor_version": 1,
+ "Host": "www.yumi.com",
+ "Connection": "keep-alive",
+ "Cache-Control": "max-age=0",
+ "Upgrade-Insecure-Requests": "1",
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.61 Safari/537.36",
+ "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.9",
+ "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_RESULT_INDEX": "1"
+ },
+ {
+ "__X_HTTP_TRANSACTION": "response",
+ "res_version": "1.1",
+ "res_status": "OK",
+ "major_version": 1,
+ "minor_version": 1,
+ "status_code": 200,
+ "Server": "Tengine",
+ "Date": "Fri, 19 Nov 2021 09:57:40 GMT",
+ "Content-Type": "text/html",
+ "Transfer-Encoding": "chunked",
+ "Connection": "keep-alive",
+ "Vary": "Accept-Encoding",
+ "Set-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",
+ "Pragma": "no-cache",
+ "Cache-Control": "no-store",
+ "Content-Encoding": "gzip",
+ "__X_HTTP_PAYLOAD_MD5": "af9b1a0118edd2920db355f9eee4ab75",
+ "__X_HTTP_RESULT_INDEX": "2"
+ }
+] \ No newline at end of file
diff --git a/test/test_result_json/http_post_multipart_form_data.json b/test/test_result_json/http_post_multipart_form_data.json
index 3e761dd..68622f1 100644
--- a/test/test_result_json/http_post_multipart_form_data.json
+++ b/test/test_result_json/http_post_multipart_form_data.json
@@ -31,6 +31,7 @@
"Content-Type": "text/html;charset=UTF-8",
"Content-Length": "468",
"Date": "Thu, 28 Mar 2019 08:13:33 GMT",
+ "__X_HTTP_PAYLOAD_MD5": "2b8cd757ab5ffba85acac26c008a1ffc",
"__X_HTTP_RESULT_INDEX": "2"
},
{
@@ -61,6 +62,7 @@
"Content-Type": "text/html;charset=UTF-8",
"Content-Length": "468",
"Date": "Thu, 28 Mar 2019 08:13:33 GMT",
+ "__X_HTTP_PAYLOAD_MD5": "2b8cd757ab5ffba85acac26c008a1ffc",
"__X_HTTP_RESULT_INDEX": "4"
},
{
@@ -83,6 +85,7 @@
"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_PAYLOAD_MD5": "550be33bf0ac01b6f7ac175bb8f4522a",
"__X_HTTP_RESULT_INDEX": "5"
},
{
@@ -96,6 +99,7 @@
"Content-Type": "text/html;charset=UTF-8",
"Content-Length": "144",
"Date": "Thu, 28 Mar 2019 08:13:37 GMT",
+ "__X_HTTP_PAYLOAD_MD5": "3fa07f3ec9f9fefed96e9886f80760bb",
"__X_HTTP_RESULT_INDEX": "6"
}
] \ No newline at end of file
diff --git a/test/test_result_json/http_post_single_trans.json b/test/test_result_json/http_post_single_trans.json
new file mode 100644
index 0000000..7880736
--- /dev/null
+++ b/test/test_result_json/http_post_single_trans.json
@@ -0,0 +1,39 @@
+[
+ {
+ "__X_HTTP_TUPLE4": "192.168.38.83.55186>192.168.40.139.8080",
+ "__X_HTTP_RESULT_INDEX": "0"
+ },
+ {
+ "__X_HTTP_TRANSACTION": "request",
+ "method": "POST",
+ "uri": "/",
+ "req_version": "1.1",
+ "major_version": 1,
+ "minor_version": 1,
+ "Content-Type": "application/json",
+ "User-Agent": "PostmanRuntime/7.37.3",
+ "Accept": "*/*",
+ "Cache-Control": "no-cache",
+ "Postman-Token": "71a004ad-901b-4461-ac3c-db9adb303c47",
+ "Host": "192.168.40.139:8080",
+ "Accept-Encoding": "gzip, deflate, br",
+ "Connection": "keep-alive",
+ "Content-Length": "26",
+ "__X_HTTP_URL": "192.168.40.139:8080/",
+ "__X_HTTP_PAYLOAD_MD5": "5ffe2871e6d5f6ee25ad7c1bfdd9f7b3",
+ "__X_HTTP_RESULT_INDEX": "1"
+ },
+ {
+ "__X_HTTP_TRANSACTION": "response",
+ "res_version": "1.0",
+ "res_status": "OK",
+ "major_version": 1,
+ "minor_version": 0,
+ "status_code": 200,
+ "Server": "BaseHTTP/0.6 Python/3.6.8",
+ "Date": "Mon, 08 Apr 2024 07:19:16 GMT",
+ "Content-length": "84",
+ "__X_HTTP_PAYLOAD_MD5": "cd8a54dd3e915946c4df262111e5aa05",
+ "__X_HTTP_RESULT_INDEX": "2"
+ }
+] \ No newline at end of file
diff --git a/test/test_result_json/http_req_1byte_sliding_window.json b/test/test_result_json/http_req_1byte_sliding_window.json
index c295389..f027d71 100644
--- a/test/test_result_json/http_req_1byte_sliding_window.json
+++ b/test/test_result_json/http_req_1byte_sliding_window.json
@@ -29,6 +29,7 @@
"Content-type": "text/html",
"Content-Length": "144",
"Last-Modified": "Fri, 29 Dec 2023 08:50:53 GMT",
+ "__X_HTTP_PAYLOAD_MD5": "3e11876cd3a234541ae37d833c088a76",
"__X_HTTP_RESULT_INDEX": "2"
}
] \ No newline at end of file
diff --git a/test/test_result_json/http_res_1byte_sliding_window.json b/test/test_result_json/http_res_1byte_sliding_window.json
index 60b756d..adf86ca 100644
--- a/test/test_result_json/http_res_1byte_sliding_window.json
+++ b/test/test_result_json/http_res_1byte_sliding_window.json
@@ -29,6 +29,7 @@
"Content-type": "text/html",
"Content-Length": "144",
"Last-Modified": "Fri, 29 Dec 2023 08:50:53 GMT",
+ "__X_HTTP_PAYLOAD_MD5": "3e11876cd3a234541ae37d833c088a76",
"__X_HTTP_RESULT_INDEX": "2"
}
] \ No newline at end of file
diff --git a/test/test_result_json/http_res_gzip.json b/test/test_result_json/http_res_gzip.json
index 357dbe9..fe2e621 100644
--- a/test/test_result_json/http_res_gzip.json
+++ b/test/test_result_json/http_res_gzip.json
@@ -39,6 +39,7 @@
"Content-Length": "92",
"Connection": "close",
"Content-Type": "text/html; charset=UTF-8",
+ "__X_HTTP_PAYLOAD_MD5": "61b9e97f96045587bb55db781f7543ad",
"__X_HTTP_RESULT_INDEX": "2"
}
] \ No newline at end of file
diff --git a/test/test_result_json/http_trans_pipeline.json b/test/test_result_json/http_trans_pipeline.json
index c9b5d37..94ffec8 100644
--- a/test/test_result_json/http_trans_pipeline.json
+++ b/test/test_result_json/http_trans_pipeline.json
@@ -106,6 +106,7 @@
"Content-Type": "text/html",
"Content-Length": "146",
"Connection": "keep-alive",
+ "__X_HTTP_PAYLOAD_MD5": "32dc0b2772bd73a952abba009291a399",
"__X_HTTP_RESULT_INDEX": "8"
},
{
@@ -120,6 +121,7 @@
"Content-Type": "text/html",
"Content-Length": "146",
"Connection": "keep-alive",
+ "__X_HTTP_PAYLOAD_MD5": "db2ff8008149d8e70d8a2929acbb0f56",
"__X_HTTP_RESULT_INDEX": "9"
},
{
@@ -134,6 +136,7 @@
"Content-Type": "text/html",
"Content-Length": "146",
"Connection": "keep-alive",
+ "__X_HTTP_PAYLOAD_MD5": "f5df152f7d8f34c630f298d2fcb46ed3",
"__X_HTTP_RESULT_INDEX": "10"
},
{
@@ -148,6 +151,7 @@
"Content-Type": "text/html",
"Content-Length": "146",
"Connection": "keep-alive",
+ "__X_HTTP_PAYLOAD_MD5": "73e98ca7b62764869357b3e3c40dcd68",
"__X_HTTP_RESULT_INDEX": "11"
},
{
@@ -162,6 +166,7 @@
"Content-Type": "text/html",
"Content-Length": "146",
"Connection": "keep-alive",
+ "__X_HTTP_PAYLOAD_MD5": "a5733c8989bde7f08506fa68c20f0c62",
"__X_HTTP_RESULT_INDEX": "12"
},
{
@@ -280,6 +285,7 @@
"Content-Type": "text/html",
"Content-Length": "146",
"Connection": "keep-alive",
+ "__X_HTTP_PAYLOAD_MD5": "4bc0dde3722f76d60fef6f1d878cbb14",
"__X_HTTP_RESULT_INDEX": "21"
},
{
@@ -294,6 +300,7 @@
"Content-Type": "text/html",
"Content-Length": "146",
"Connection": "keep-alive",
+ "__X_HTTP_PAYLOAD_MD5": "728dc2eafd49c9be8149add7c6aff207",
"__X_HTTP_RESULT_INDEX": "22"
},
{
@@ -308,6 +315,7 @@
"Content-Type": "text/html",
"Content-Length": "146",
"Connection": "keep-alive",
+ "__X_HTTP_PAYLOAD_MD5": "0cde98e33181ee0ded49e8d0a3178d55",
"__X_HTTP_RESULT_INDEX": "23"
},
{
@@ -322,6 +330,7 @@
"Content-Type": "text/html",
"Content-Length": "146",
"Connection": "keep-alive",
+ "__X_HTTP_PAYLOAD_MD5": "d627268e0aba817d818b6e2b7e41aa11",
"__X_HTTP_RESULT_INDEX": "24"
},
{
@@ -336,6 +345,7 @@
"Content-Type": "text/html",
"Content-Length": "146",
"Connection": "keep-alive",
+ "__X_HTTP_PAYLOAD_MD5": "e99d9829d50bd94b3497b91011f6e349",
"__X_HTTP_RESULT_INDEX": "25"
},
{
@@ -363,6 +373,7 @@
"Content-Type": "text/html",
"Content-Length": "146",
"Connection": "keep-alive",
+ "__X_HTTP_PAYLOAD_MD5": "99a813d29c5da4e6f7269be4c1a31c8e",
"__X_HTTP_RESULT_INDEX": "27"
}
] \ No newline at end of file
diff --git a/test/test_result_json/http_tunnel_for_pop3.json b/test/test_result_json/http_tunnel_for_pop3.json
index 7956a50..d12889c 100644
--- a/test/test_result_json/http_tunnel_for_pop3.json
+++ b/test/test_result_json/http_tunnel_for_pop3.json
@@ -28,6 +28,7 @@
"minor_version": 1,
"status_code": 200,
"Proxy-agent": "CCProxy",
+ "__X_HTTP_PAYLOAD_MD5": "3d51846928a2dcf7a6c06e68b2b85105",
"__X_HTTP_RESULT_INDEX": "2"
}
] \ No newline at end of file
diff --git a/test/test_result_json/http_url_test_with_host.json b/test/test_result_json/http_url_test_with_host.json
index a7fe660..1af82cf 100644
--- a/test/test_result_json/http_url_test_with_host.json
+++ b/test/test_result_json/http_url_test_with_host.json
@@ -30,6 +30,7 @@
"Server": "BaseHTTP/0.6 Python/3.6.8",
"Date": "Thu, 14 Mar 2024 07:37:43 GMT",
"Content-type": "application/json",
+ "__X_HTTP_PAYLOAD_MD5": "49dfdd54b01cbcd2d2ab5e9e5ee6b9b9",
"__X_HTTP_RESULT_INDEX": "2"
}
] \ No newline at end of file
diff --git a/test/test_result_json/http_url_test_without_host.json b/test/test_result_json/http_url_test_without_host.json
index 9c91498..cb448f9 100644
--- a/test/test_result_json/http_url_test_without_host.json
+++ b/test/test_result_json/http_url_test_without_host.json
@@ -24,6 +24,7 @@
"Server": "BaseHTTP/0.6 Python/3.6.8",
"Date": "Thu, 14 Mar 2024 06:15:20 GMT",
"Content-type": "application/json",
+ "__X_HTTP_PAYLOAD_MD5": "49dfdd54b01cbcd2d2ab5e9e5ee6b9b9",
"__X_HTTP_RESULT_INDEX": "2"
}
] \ No newline at end of file