summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author李佳 <[email protected]>2024-04-10 13:51:41 +0000
committer李佳 <[email protected]>2024-04-10 13:51:41 +0000
commit600e7eba3f0a3ffc6002d5278903892843d735a9 (patch)
tree8fcfbcb35c10d884b2f38810759dcee094684f29
parentc00538d6a95fced820e23c11cf238bef7bfe7fbb (diff)
add http_message_get_transaction_seq() API; add base64 encode format for...
-rw-r--r--include/http_decoder.h7
-rw-r--r--src/http_decoder.c21
-rw-r--r--src/http_decoder_half.c42
-rw-r--r--src/http_decoder_half.h1
-rw-r--r--test/CMakeLists.txt2
-rw-r--r--test/base64.c164
-rw-r--r--test/base64.h28
-rw-r--r--test/http_decoder_driver.cpp75
-rw-r--r--test/http_decoder_gtest.cpp22
-rw-r--r--test/http_decoder_gtest.h7
-rw-r--r--test/http_decoder_stub.cpp2
-rw-r--r--test/http_pcap/http_over_tcp_keepalive.pcapbin20213 -> 20142 bytes
-rw-r--r--test/test_result_json/http_6over4_single_trans.json12
-rw-r--r--test/test_result_json/http_chunked_res_gzip.json87
-rw-r--r--test/test_result_json/http_get_encoded_uri.json151
-rw-r--r--test/test_result_json/http_get_long_cookie.json7
-rw-r--r--test/test_result_json/http_get_malformed.json11
-rw-r--r--test/test_result_json/http_get_multi_trans.json35
-rw-r--r--test/test_result_json/http_get_req_pipeline.json19
-rw-r--r--test/test_result_json/http_get_single_trans.json64
-rw-r--r--test/test_result_json/http_hdr_truncated_after_kv.json71
-rw-r--r--test/test_result_json/http_hdr_truncated_in_kv.json11
-rw-r--r--test/test_result_json/http_hdr_value_empty.json13
-rw-r--r--test/test_result_json/http_hdrs_exceed_maximum.json97
-rw-r--r--test/test_result_json/http_multi_parse_error.json13
-rw-r--r--test/test_result_json/http_no_content_length.json11
-rw-r--r--test/test_result_json/http_over_pppoe.json11
-rw-r--r--test/test_result_json/http_over_tcp_keepalive.json11
-rw-r--r--test/test_result_json/http_post_multipart_form_data.json27
-rw-r--r--test/test_result_json/http_post_single_trans.json11
-rw-r--r--test/test_result_json/http_req_1byte_sliding_window.json11
-rw-r--r--test/test_result_json/http_res_1byte_sliding_window.json11
-rw-r--r--test/test_result_json/http_res_gzip.json11
-rw-r--r--test/test_result_json/http_trans_pipeline.json111
-rw-r--r--test/test_result_json/http_tunnel_for_pop3.json11
-rw-r--r--test/test_result_json/http_upgrade_http2.json15
-rw-r--r--test/test_result_json/http_upgrade_websocket.json11
-rw-r--r--test/test_result_json/http_url_test_with_host.json11
-rw-r--r--test/test_result_json/http_url_test_without_host.json11
39 files changed, 772 insertions, 464 deletions
diff --git a/include/http_decoder.h b/include/http_decoder.h
index fe7d1c2..ef42ad2 100644
--- a/include/http_decoder.h
+++ b/include/http_decoder.h
@@ -108,8 +108,15 @@ int http_message_get_request_decompress_body(struct http_message *msg,
int http_message_get_response_decompress_body(struct http_message *msg,
struct hstring *body);
+/**
+ * @retval succeed(0) failed(-1)
+*/
int http_message_get_url(struct http_message *msg, struct hstring *url);
+/**
+ * @retval succeed(>=0) failed(-1)
+*/
+int http_message_get_transaction_seq(struct http_message *msg);
#ifdef __cplusplus
}
diff --git a/src/http_decoder.c b/src/http_decoder.c
index 68f7c58..43eb8bf 100644
--- a/src/http_decoder.c
+++ b/src/http_decoder.c
@@ -855,4 +855,25 @@ int http_message_get_url(struct http_message *msg, struct hstring *url)
msg->ref_queue->array[msg->queue_index].req_data;
return http_half_data_get_url(req_data, url);
+}
+
+int http_message_get_transaction_seq(struct http_message *msg)
+{
+ if (NULL == msg)
+ {
+ return -1;
+ }
+ assert(msg->ref_queue);
+ assert(msg->queue_index < HD_RESULT_QUEUE_LEN);
+ struct http_decoder_half_data *hf_data;
+ if (HTTP_MESSAGE_REQ_LINE == msg->type || HTTP_MESSAGE_REQ_HEADER == msg->type || HTTP_MESSAGE_REQ_BODY == msg->type)
+ {
+ hf_data = msg->ref_queue->array[msg->queue_index].req_data;
+ }
+ else
+ {
+ hf_data = msg->ref_queue->array[msg->queue_index].res_data;
+ }
+ return http_half_data_get_transaction_seq(hf_data);
+ ;
} \ No newline at end of file
diff --git a/src/http_decoder_half.c b/src/http_decoder_half.c
index 56a7838..5772a54 100644
--- a/src/http_decoder_half.c
+++ b/src/http_decoder_half.c
@@ -37,6 +37,7 @@ struct http_decoder_half_data {
int joint_url_complete;
struct hstring joint_url; // http://<host>[:<port>]/<path>?<searchpart>
+ long long transaction_index;
};
struct http_decoder_half {
@@ -54,6 +55,7 @@ struct http_decoder_half {
long long trans_counter;
long long err_counter;
+ long long transaction_seq;
};
// #define HTTP_DECODER_DEBUG
@@ -126,7 +128,7 @@ static int on_message_begin(llhttp_t *http)
half->http_ev_cb(half->event, &half->ref_data, half->http_ev_ctx);
half->trans_counter++;
-
+ half->ref_data->transaction_index = half->transaction_seq++;
return 0;
}
@@ -228,11 +230,21 @@ static int on_uri(llhttp_t *http, const char *at, size_t length)
static void http_decoder_cached_portion_url(struct http_decoder_half *half, const struct hstring *uri_result)
{
struct http_decoder_half_data *ref_data = half->ref_data;
+ int uri_skip_len = 0;
- ref_data->joint_url.str_len = uri_result->str_len;
- ref_data->joint_url.str = MEMPOOL_CALLOC(half->http_ev_ctx->ref_mempool, char, uri_result->str_len);
- // ref_data->joint_url.str = (char *)malloc(uri_result->str_len);
- memcpy(ref_data->joint_url.str, uri_result->str, uri_result->str_len);
+ if ((uri_result->str_len) > 7 && (strncasecmp("http://", uri_result->str, 7) == 0)) // absolute URI
+ {
+ uri_skip_len = strlen("http://");
+ ref_data->joint_url_complete = 1;
+ }
+ else
+ {
+ ref_data->joint_url_complete = 0;
+ }
+
+ ref_data->joint_url.str_len = uri_result->str_len - uri_skip_len;
+ ref_data->joint_url.str = MEMPOOL_CALLOC(half->http_ev_ctx->ref_mempool, char, ref_data->joint_url.str_len);
+ memcpy(ref_data->joint_url.str, uri_result->str+uri_skip_len, ref_data->joint_url.str_len);
}
/* Information-only callbacks, return value is ignored */
@@ -963,15 +975,22 @@ static void using_session_addr_as_host(struct session *ref_session,
void http_decoder_join_url(struct http_decoder_half_data *hfdata, nmx_pool_t *mempool, const struct http_header *host_hdr)
{
- //int url_cache_str_len = strlen("http://") + host_hdr->val.str_len + hfdata->joint_url.str_len;
- int url_cache_str_len = host_hdr->val.str_len + hfdata->joint_url.str_len;
+ int append_slash_len = 0;
+ if('/' != hfdata->joint_url.str[0])
+ {
+ append_slash_len = 1;
+ }
+ int url_cache_str_len = host_hdr->val.str_len + hfdata->joint_url.str_len + append_slash_len;
char *url_cache_str = MEMPOOL_CALLOC(mempool, char, url_cache_str_len);
char *ptr = url_cache_str;
- //memcpy(ptr, "http://", strlen("http://"));
- //ptr += strlen("http://");
memcpy(ptr, host_hdr->val.str, host_hdr->val.str_len);
ptr += host_hdr->val.str_len;
+ if(append_slash_len)
+ {
+ *ptr = '/';
+ ptr++;
+ }
memcpy(ptr, hfdata->joint_url.str, hfdata->joint_url.str_len);
MEMPOOL_FREE(mempool, hfdata->joint_url.str); // free the cached uri buffer
@@ -1031,4 +1050,9 @@ int http_half_data_get_url(struct http_decoder_half_data *res_data, struct hstri
url->str_len = res_data->joint_url.str_len;
return 0;
+}
+
+int http_half_data_get_transaction_seq(struct http_decoder_half_data *hf_data)
+{
+ return hf_data->transaction_index;
} \ No newline at end of file
diff --git a/src/http_decoder_half.h b/src/http_decoder_half.h
index 0fcd0b6..ebe7e00 100644
--- a/src/http_decoder_half.h
+++ b/src/http_decoder_half.h
@@ -111,6 +111,7 @@ int http_decoder_join_url_finally(struct http_event_context *ev_ctx,
struct http_decoder_half_data *hfdata,
nmx_pool_t *mempool);
int http_half_data_get_url(struct http_decoder_half_data *res_data, struct hstring *url);
+int http_half_data_get_transaction_seq(struct http_decoder_half_data *hf_data);
#ifdef __cplusplus
}
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 42d2fad..e7aa83e 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 md5.c)
+add_executable(gtest_http_decoder http_decoder_driver.cpp http_decoder_stub.cpp http_decoder_gtest.cpp md5.c base64.c)
link_directories(${CMAKE_BINARY_DIR}/src)
target_link_libraries(gtest_http_decoder http_decoder gtest pcap MESA_jump_layer cjson-static)
diff --git a/test/base64.c b/test/base64.c
new file mode 100644
index 0000000..eeded25
--- /dev/null
+++ b/test/base64.c
@@ -0,0 +1,164 @@
+/* This is a public domain base64 implementation written by WEI Zhicheng. */
+
+#include "base64.h"
+
+#define BASE64_PAD '='
+#define BASE64DE_FIRST '+'
+#define BASE64DE_LAST 'z'
+
+/* BASE 64 encode table */
+static const char base64en[] = {
+ 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H',
+ 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P',
+ 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X',
+ 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f',
+ 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n',
+ 'o', 'p', 'q', 'r', 's', 't', 'u', 'v',
+ 'w', 'x', 'y', 'z', '0', '1', '2', '3',
+ '4', '5', '6', '7', '8', '9', '+', '/',
+};
+
+/* ASCII order for BASE 64 decode, 255 in unused character */
+static const unsigned char base64de[] = {
+ /* nul, soh, stx, etx, eot, enq, ack, bel, */
+ 255, 255, 255, 255, 255, 255, 255, 255,
+
+ /* bs, ht, nl, vt, np, cr, so, si, */
+ 255, 255, 255, 255, 255, 255, 255, 255,
+
+ /* dle, dc1, dc2, dc3, dc4, nak, syn, etb, */
+ 255, 255, 255, 255, 255, 255, 255, 255,
+
+ /* can, em, sub, esc, fs, gs, rs, us, */
+ 255, 255, 255, 255, 255, 255, 255, 255,
+
+ /* sp, '!', '"', '#', '$', '%', '&', ''', */
+ 255, 255, 255, 255, 255, 255, 255, 255,
+
+ /* '(', ')', '*', '+', ',', '-', '.', '/', */
+ 255, 255, 255, 62, 255, 255, 255, 63,
+
+ /* '0', '1', '2', '3', '4', '5', '6', '7', */
+ 52, 53, 54, 55, 56, 57, 58, 59,
+
+ /* '8', '9', ':', ';', '<', '=', '>', '?', */
+ 60, 61, 255, 255, 255, 255, 255, 255,
+
+ /* '@', 'A', 'B', 'C', 'D', 'E', 'F', 'G', */
+ 255, 0, 1, 2, 3, 4, 5, 6,
+
+ /* 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', */
+ 7, 8, 9, 10, 11, 12, 13, 14,
+
+ /* 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', */
+ 15, 16, 17, 18, 19, 20, 21, 22,
+
+ /* 'X', 'Y', 'Z', '[', '\', ']', '^', '_', */
+ 23, 24, 25, 255, 255, 255, 255, 255,
+
+ /* '`', 'a', 'b', 'c', 'd', 'e', 'f', 'g', */
+ 255, 26, 27, 28, 29, 30, 31, 32,
+
+ /* 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', */
+ 33, 34, 35, 36, 37, 38, 39, 40,
+
+ /* 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', */
+ 41, 42, 43, 44, 45, 46, 47, 48,
+
+ /* 'x', 'y', 'z', '{', '|', '}', '~', del, */
+ 49, 50, 51, 255, 255, 255, 255, 255
+};
+
+unsigned int
+base64_encode(const unsigned char *in, unsigned int inlen, char *out)
+{
+ int s;
+ unsigned int i;
+ unsigned int j;
+ unsigned char c;
+ unsigned char l;
+
+ s = 0;
+ l = 0;
+ for (i = j = 0; i < inlen; i++) {
+ c = in[i];
+
+ switch (s) {
+ case 0:
+ s = 1;
+ out[j++] = base64en[(c >> 2) & 0x3F];
+ break;
+ case 1:
+ s = 2;
+ out[j++] = base64en[((l & 0x3) << 4) | ((c >> 4) & 0xF)];
+ break;
+ case 2:
+ s = 0;
+ out[j++] = base64en[((l & 0xF) << 2) | ((c >> 6) & 0x3)];
+ out[j++] = base64en[c & 0x3F];
+ break;
+ }
+ l = c;
+ }
+
+ switch (s) {
+ case 1:
+ out[j++] = base64en[(l & 0x3) << 4];
+ out[j++] = BASE64_PAD;
+ out[j++] = BASE64_PAD;
+ break;
+ case 2:
+ out[j++] = base64en[(l & 0xF) << 2];
+ out[j++] = BASE64_PAD;
+ break;
+ }
+
+ out[j] = 0;
+
+ return j;
+}
+
+unsigned int
+base64_decode(const char *in, unsigned int inlen, unsigned char *out)
+{
+ unsigned int i;
+ unsigned int j;
+ unsigned char c;
+
+ if (inlen & 0x3) {
+ return 0;
+ }
+
+ for (i = j = 0; i < inlen; i++) {
+ if (in[i] == BASE64_PAD) {
+ break;
+ }
+ if (in[i] < BASE64DE_FIRST || in[i] > BASE64DE_LAST) {
+ return 0;
+ }
+
+ c = base64de[(unsigned char)in[i]];
+ if (c == 255) {
+ return 0;
+ }
+
+ switch (i & 0x3) {
+ case 0:
+ out[j] = (c << 2) & 0xFF;
+ break;
+ case 1:
+ out[j++] |= (c >> 4) & 0x3;
+ out[j] = (c & 0xF) << 4;
+ break;
+ case 2:
+ out[j++] |= (c >> 2) & 0xF;
+ out[j] = (c & 0x3) << 6;
+ break;
+ case 3:
+ out[j++] |= c;
+ break;
+ }
+ }
+
+ return j;
+}
diff --git a/test/base64.h b/test/base64.h
new file mode 100644
index 0000000..9bea95a
--- /dev/null
+++ b/test/base64.h
@@ -0,0 +1,28 @@
+#ifndef BASE64_H
+#define BASE64_H
+
+#define BASE64_ENCODE_OUT_SIZE(s) ((unsigned int)((((s) + 2) / 3) * 4 + 1))
+#define BASE64_DECODE_OUT_SIZE(s) ((unsigned int)(((s) / 4) * 3))
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+/*
+ * out is null-terminated encode string.
+ * return values is out length, exclusive terminating `\0'
+ */
+unsigned int
+base64_encode(const unsigned char *in, unsigned int inlen, char *out);
+
+/*
+ * return values is out length
+ */
+unsigned int
+base64_decode(const char *in, unsigned int inlen, unsigned char *out);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* BASE64_H */
diff --git a/test/http_decoder_driver.cpp b/test/http_decoder_driver.cpp
index b1e24dc..14156e4 100644
--- a/test/http_decoder_driver.cpp
+++ b/test/http_decoder_driver.cpp
@@ -23,6 +23,7 @@
#include <pcap/pcap.h>
#include "http_decoder_gtest.h"
#include "MESA_jump_layer.h"
+#include "base64.h"
extern "C" int http_decoder_entry(struct session *sess, int events,
const struct packet *pkt, void *cb_arg);
@@ -42,10 +43,12 @@ static const struct option hdgt_cla_long_options[] =
{NULL, 0, NULL, 0}};
static const char *g_data_src_json_non_headers[] = {
- "__X_HTTP_TUPLE4",
- "__X_HTTP_TRANSACTION",
- "__X_HTTP_RESULT_INDEX",
- "__X_HTTP_URL",
+ GTEST_HTTP_URL_NAME,
+ GTEST_HTTP_TRANS_NAME,
+ GTEST_HTTP_TRANS_SEQ_NAME,
+ GTEST_HTTP_TUPLE4_NAME,
+ GTEST_HTTP_PAYLOAD_NAME,
+ GTEST_HTTP_PAYLOAD_MD5_NAME,
"method",
"uri",
"req_version",
@@ -379,6 +382,23 @@ static void hdgt_get_headers_from_json(struct data_src_json_para_t *data_src_jso
sprintf(data_ptr, "\r\n"); // headers EOF
}
+static void hdgt_get_body_from_json(struct data_src_json_para_t *data_src_json_para)
+{
+ cJSON *json_root = data_src_json_para->current_object;
+ char *data_ptr = data_src_json_para->key_value_buf + strlen(data_src_json_para->key_value_buf);
+
+ // todo, support gzip, deflate, etc.
+ // todo, cjson not support binary data, need base64 encode/decode
+ cJSON *json_body = cJSON_GetObjectItem(json_root, GTEST_HTTP_PAYLOAD_NAME);
+ if (json_body)
+ {
+ int base64_cont_len = strlen(json_body->valuestring);
+ char *raw_cont_buf = (char *)calloc(1, base64_cont_len + 1);
+ int raw_cont_len = base64_decode(json_body->valuestring, base64_cont_len, (unsigned char *)raw_cont_buf);
+ sprintf(data_ptr, "%s", raw_cont_buf);
+ }
+}
+
static int hdgt_update_packet_detail_by_json(struct fake_stellar *fst, struct fake_packet *fpkt)
{
fpkt->dir = hdgt_get_packet_dir_from_json(fst->data_src_json_para.current_object);
@@ -398,6 +418,8 @@ static int hdgt_update_packet_detail_by_json(struct fake_stellar *fst, struct fa
}
hdgt_get_headers_from_json(&fst->data_src_json_para);
+ hdgt_get_body_from_json(&fst->data_src_json_para);
+
fpkt->payload_data = fst->data_src_json_para.key_value_buf;
fpkt->payload_data_len = strlen(fst->data_src_json_para.key_value_buf);
fpkt->payload_submit_offset = 0;
@@ -484,16 +506,43 @@ static void hdgt_determine_packet_dir(struct fake_session *fses, struct fake_pac
}
}
-static void hdgt_update_packet_payload(struct fake_packet *fpkt, const struct tcphdr *th)
+static void hdgt_update_packet_payload(struct fake_packet *fpkt, const struct tcphdr *th, int from_tcp_len)
{
// todo, support UDP?
fpkt->payload_data = (char *)th + th->th_off * 4;
+#if 0
+ /* for ethernet, maybe end with padding bytes, must not use packet length, use ip header len */
fpkt->payload_data_len = fpkt->raw_pkt_data_len - ((char *)th - fpkt->raw_pkt_data) - (th->th_off * 4);
+#else
+ fpkt->payload_data_len = from_tcp_len - (th->th_off * 4);
+#endif
fpkt->payload_submit_offset = 0;
}
static int hdgt_update_packet_detail_by_pcap(struct fake_session *fses, struct fake_packet *fpkt)
{
+ size_t from_tcp_len = 0;
+ if (SESSION_ADDR_TYPE_IPV4_TCP == fses->addr_type)
+ {
+ struct ip *i4h = (struct ip *)MESA_jump_layer_greedy(fpkt->raw_pkt_data, ADDR_TYPE_MAC, ADDR_TYPE_IPV4);
+ if (NULL == i4h)
+ {
+ DEBUG_PRINT("Not found ipv4 header!\n");
+ return -1;
+ }
+ from_tcp_len = ntohs(i4h->ip_len) - i4h->ip_hl * 4;
+ }
+ else
+ {
+ struct ip6_hdr *i6h = (struct ip6_hdr *)MESA_jump_layer_greedy(fpkt->raw_pkt_data, ADDR_TYPE_MAC, ADDR_TYPE_IPV6);
+ if (NULL == i6h)
+ {
+ DEBUG_PRINT("Not found ipv6 header!\n");
+ return -1;
+ }
+ from_tcp_len = ntohs(i6h->ip6_plen);
+ }
+
struct tcphdr *th = (struct tcphdr *)MESA_jump_layer_greedy(fpkt->raw_pkt_data, ADDR_TYPE_MAC, ADDR_TYPE_TCP);
if (NULL == th)
{
@@ -502,7 +551,7 @@ static int hdgt_update_packet_detail_by_pcap(struct fake_session *fses, struct f
}
hdgt_determine_packet_dir(fses, fpkt, th);
- hdgt_update_packet_payload(fpkt, th);
+ hdgt_update_packet_payload(fpkt, th, from_tcp_len);
return 0;
}
@@ -691,6 +740,7 @@ static struct session_addr *hgdt_get_session_addr_by_json(struct fake_session *f
cJSON *tuple4_obj = cJSON_GetObjectItem(fses->fst->data_src_json_para.current_object, GTEST_HTTP_TUPLE4_NAME);
if (NULL == tuple4_obj)
{
+ fprintf(stderr, "Not found tuple4 object!\n");
return NULL;
}
fses->addr = MMALLOC(struct session_addr, sizeof(struct session_addr));
@@ -752,6 +802,17 @@ static int hdgt_data_source_init(struct fake_stellar *fst)
return 0;
}
+static void hdgt_prune_non_result_item(cJSON *benchmark_json_root)
+{
+ int array_size = cJSON_GetArraySize(benchmark_json_root);
+
+ for (int i = 0; i < array_size; i++)
+ {
+ cJSON *object_root = cJSON_GetArrayItem(benchmark_json_root, i);
+ cJSON_DeleteItemFromObject(object_root, GTEST_HTTP_PAYLOAD_NAME);
+ }
+}
+
static int hdgt_benchmakr_json_parse(struct fake_stellar *fst)
{
char *file_cont = hdgt_get_file_content(fst->benchmark_json_file_name);
@@ -769,6 +830,8 @@ static int hdgt_benchmakr_json_parse(struct fake_stellar *fst)
}
fst->http_plug_test_result_root = cJSON_CreateArray();
MFREE(file_cont);
+
+ hdgt_prune_non_result_item(fst->load_benchmark_json_root);
return 0;
}
diff --git a/test/http_decoder_gtest.cpp b/test/http_decoder_gtest.cpp
index b43fa66..4f21955 100644
--- a/test/http_decoder_gtest.cpp
+++ b/test/http_decoder_gtest.cpp
@@ -37,7 +37,7 @@ enum http_transaction_type
{
HTTP_TRANSACTION_REQ = 0,
HTTP_TRANSACTION_RES,
- HTTP_TRANSACTION_SESSION,
+ HTTP_TRANSACTION_SESSION, // global session info
HTTP_TRANSACTION_MAX
};
@@ -146,6 +146,11 @@ int http_field_to_json(cJSON *object, const char *key, char *val, size_t val_len
return 0;
}
+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)
{
http_field_to_json(ctx, "method", req_line->method.str,
@@ -214,7 +219,8 @@ void http_url_add_to_json(cJSON *ctx, struct http_message *msg)
}
// Full duplex
-static void commit_last_half_flow_data(struct session *sess, struct gtest_plug_exdata_t *gtest_plug_exdata, enum http_transaction_type type)
+static void commit_last_half_flow_data(struct session *sess, struct gtest_plug_exdata_t *gtest_plug_exdata,
+ struct http_message *msg, enum http_transaction_type type)
{
char result_name[MAX_KEY_STR_LEN] = {0};
@@ -252,6 +258,10 @@ static void commit_last_half_flow_data(struct session *sess, struct gtest_plug_e
{
cJSON_AddStringToObject(gtest_plug_exdata->result_jnode[type], GTEST_HTTP_TRANS_NAME, "response");
}
+ if (msg)
+ {
+ transaction_index_to_json(gtest_plug_exdata->result_jnode[type], http_message_get_transaction_seq(msg));
+ }
}
static void http_decoder_test_update_session_tuple4(struct session *sess, struct gtest_plug_exdata_t *gtest_plug_exdata)
@@ -298,7 +308,7 @@ http_decoder_test_entry(struct session *sess, int topic_id, const void *data,
switch (msg_type)
{
case HTTP_MESSAGE_REQ_LINE:
- commit_last_half_flow_data(sess, gtest_plug_exdata, HTTP_TRANSACTION_REQ);
+ commit_last_half_flow_data(sess, gtest_plug_exdata, msg, HTTP_TRANSACTION_REQ);
http_message_get_request_line(msg, &req_line);
req_line_to_json(gtest_plug_exdata->result_jnode[HTTP_TRANSACTION_REQ], &req_line);
break;
@@ -318,7 +328,7 @@ http_decoder_test_entry(struct session *sess, int topic_id, const void *data,
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);
+ commit_last_half_flow_data(sess, gtest_plug_exdata, msg, HTTP_TRANSACTION_RES);
http_message_get_response_line(msg, &res_line);
res_line_to_json(gtest_plug_exdata->result_jnode[HTTP_TRANSACTION_RES], &res_line);
break;
@@ -353,11 +363,11 @@ void http_decoder_test_exdata_free(struct session *sess, int idx, void *ex_ptr,
struct gtest_plug_exdata_t *gtest_plug_exdata = (struct gtest_plug_exdata_t *)ex_ptr;
if (gtest_plug_exdata->result_jnode[HTTP_TRANSACTION_REQ])
{
- commit_last_half_flow_data(sess, gtest_plug_exdata, HTTP_TRANSACTION_REQ);
+ commit_last_half_flow_data(sess, gtest_plug_exdata, NULL, HTTP_TRANSACTION_REQ);
}
if (gtest_plug_exdata->result_jnode[HTTP_TRANSACTION_RES])
{
- commit_last_half_flow_data(sess, gtest_plug_exdata, HTTP_TRANSACTION_RES);
+ commit_last_half_flow_data(sess, gtest_plug_exdata, NULL, HTTP_TRANSACTION_RES);
}
free(ex_ptr);
}
diff --git a/test/http_decoder_gtest.h b/test/http_decoder_gtest.h
index 4412504..b58def3 100644
--- a/test/http_decoder_gtest.h
+++ b/test/http_decoder_gtest.h
@@ -34,17 +34,14 @@
#define EX_DATA_MAX_SIZE 10
#define PIPELINE_MAX_NUM 8
-#define KEY_NAME_REQ_LINE "__REQ_LINE__"
-#define KEY_NAME_RES_LINE "__RES_LINE__"
-#define KEY_NAME_REQ_URL "__REQ_URL__"
-#define KEY_NAME_PAYLOAD_MD5 "__PAYLOAD_MD5__"
-
#define GTEST_FIX_PAYLOAD_CSTR "<Hello http decoder World!!!>"
#define GTEST_FIX_PAYLOAD_MD5 "e91e072f772737c7a45013cc3b1a916c"
#define GTEST_HTTP_URL_NAME "__X_HTTP_URL"
#define GTEST_HTTP_TRANS_NAME "__X_HTTP_TRANSACTION"
+#define GTEST_HTTP_TRANS_SEQ_NAME "__X_HTTP_TRANSACTION_SEQ"
#define GTEST_HTTP_TUPLE4_NAME "__X_HTTP_TUPLE4"
+#define GTEST_HTTP_PAYLOAD_NAME "__X_HTTP_PAYLOAD"
#define GTEST_HTTP_PAYLOAD_MD5_NAME "__X_HTTP_PAYLOAD_MD5"
struct fake_exdata_manage
diff --git a/test/http_decoder_stub.cpp b/test/http_decoder_stub.cpp
index c879630..77a1483 100644
--- a/test/http_decoder_stub.cpp
+++ b/test/http_decoder_stub.cpp
@@ -30,7 +30,7 @@ extern "C"
assert(node != NULL || name != NULL);
if (g_fake_stellar->http_plug_test_result_root)
{
- cJSON_AddStringToObject(node, "__X_HTTP_RESULT_INDEX", name);
+ // cJSON_AddStringToObject(node, "__X_HTTP_RESULT_INDEX", name);
cJSON_AddItemToArray(g_fake_stellar->http_plug_test_result_root, node);
return 0;
}
diff --git a/test/http_pcap/http_over_tcp_keepalive.pcap b/test/http_pcap/http_over_tcp_keepalive.pcap
index 5b2db18..e8d9a34 100644
--- a/test/http_pcap/http_over_tcp_keepalive.pcap
+++ b/test/http_pcap/http_over_tcp_keepalive.pcap
Binary files differ
diff --git a/test/test_result_json/http_6over4_single_trans.json b/test/test_result_json/http_6over4_single_trans.json
index d4ba763..6c0435b 100644
--- a/test/test_result_json/http_6over4_single_trans.json
+++ b/test/test_result_json/http_6over4_single_trans.json
@@ -1,10 +1,10 @@
[
{
- "__X_HTTP_TUPLE4": "2001:da8:200:900e:200:5efe:d24d:58a3.52556>2600:140e:6::1702:1058.80",
- "__X_HTTP_RESULT_INDEX": "0"
+ "__X_HTTP_TUPLE4": "2001:da8:200:900e:200:5efe:d24d:58a3.52556>2600:140e:6::1702:1058.80"
},
{
"__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 0,
"method": "GET",
"uri": "/ncsi.txt",
"req_version": "1.1",
@@ -13,11 +13,11 @@
"Connection": "Close",
"User-Agent": "Microsoft NCSI",
"Host": "www.msftncsi.com",
- "__X_HTTP_URL": "www.msftncsi.com/ncsi.txt",
- "__X_HTTP_RESULT_INDEX": "1"
+ "__X_HTTP_URL": "www.msftncsi.com/ncsi.txt"
},
{
"__X_HTTP_TRANSACTION": "response",
+ "__X_HTTP_TRANSACTION_SEQ": 0,
"res_version": "1.1",
"res_status": "OK",
"major_version": 1,
@@ -28,7 +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"
+ "__X_HTTP_PAYLOAD_MD5": "cd5a4d3fdd5bffc16bf959ef75cf37bc",
+ "__X_HTTP_PAYLOAD": "TWljcm9zb2Z0IE5DU0k="
}
] \ 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 d60d69b..0889c3c 100644
--- a/test/test_result_json/http_chunked_res_gzip.json
+++ b/test/test_result_json/http_chunked_res_gzip.json
@@ -1,42 +1,45 @@
-[{
- "__X_HTTP_TUPLE4": "127.0.0.1.33412>127.0.0.1.8080",
- "__X_HTTP_RESULT_INDEX": "0"
- }, {
- "__X_HTTP_TRANSACTION": "request",
- "method": "GET",
- "uri": "/",
- "req_version": "1.1",
- "major_version": 1,
- "minor_version": 1,
- "Host": "www.wireshark.org:8080",
- "User-Agent": "curl/7.46.0",
- "Accept": "*/*",
- "Connection": "close",
- "Accept-Encoding": "chunked, gzip",
- "__X_HTTP_URL": "www.wireshark.org:8080/",
- "__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": "cloudflare-nginx",
- "Date": "Wed, 06 Jan 2016 20:42:10 GMT",
- "Content-Type": "text/html",
- "Transfer-Encoding": "chunked",
- "Connection": "close",
- "Set-Cookie": "__cfduid=d8d37b52eaa3137bdfd7fd67a4ffc8a7a1452112929; expires=Thu, 05-Jan-17 20:42:09 GMT; path=/; domain=.wireshark.org; HttpOnly",
- "X-Frame-Options": "SAMEORIGIN",
- "Strict-Transport-Security": "max-age=31536000;",
- "X-Slogan": "It's a great product with a great story to tell. I'm pumped!",
- "X-Mod-Pagespeed": "1.9.32.11-7550",
- "Vary": "Accept-Encoding",
- "Cache-control": "max-age=0, no-cache, no-store",
- "X-Slogan1": "Go deep.",
- "CF-RAY": "260a3f709d7b0761-AMS",
- "Content-Encoding": "gzip",
- "__X_HTTP_PAYLOAD_MD5": "855f8310be999de806e89a420a95435d",
- "__X_HTTP_RESULT_INDEX": "2"
- }]
+[
+ {
+ "__X_HTTP_TUPLE4": "127.0.0.1.33412>127.0.0.1.8080"
+ },
+ {
+ "__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 0,
+ "method": "GET",
+ "uri": "/",
+ "req_version": "1.1",
+ "major_version": 1,
+ "minor_version": 1,
+ "Host": "www.wireshark.org:8080",
+ "User-Agent": "curl/7.46.0",
+ "Accept": "*/*",
+ "Connection": "close",
+ "Accept-Encoding": "chunked, gzip",
+ "__X_HTTP_URL": "www.wireshark.org:8080/"
+ },
+ {
+ "__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,
+ "Server": "cloudflare-nginx",
+ "Date": "Wed, 06 Jan 2016 20:42:10 GMT",
+ "Content-Type": "text/html",
+ "Transfer-Encoding": "chunked",
+ "Connection": "close",
+ "Set-Cookie": "__cfduid=d8d37b52eaa3137bdfd7fd67a4ffc8a7a1452112929; expires=Thu, 05-Jan-17 20:42:09 GMT; path=/; domain=.wireshark.org; HttpOnly",
+ "X-Frame-Options": "SAMEORIGIN",
+ "Strict-Transport-Security": "max-age=31536000;",
+ "X-Slogan": "It's a great product with a great story to tell. I'm pumped!",
+ "X-Mod-Pagespeed": "1.9.32.11-7550",
+ "Vary": "Accept-Encoding",
+ "Cache-control": "max-age=0, no-cache, no-store",
+ "X-Slogan1": "Go deep.",
+ "CF-RAY": "260a3f709d7b0761-AMS",
+ "Content-Encoding": "gzip",
+ "__X_HTTP_PAYLOAD_MD5": "855f8310be999de806e89a420a95435d"
+ }
+] \ No newline at end of file
diff --git a/test/test_result_json/http_get_encoded_uri.json b/test/test_result_json/http_get_encoded_uri.json
index e6c72bd..fe57717 100644
--- a/test/test_result_json/http_get_encoded_uri.json
+++ b/test/test_result_json/http_get_encoded_uri.json
@@ -1,73 +1,78 @@
-[{
- "__X_HTTP_TUPLE4": "192.168.117.60.39655>58.16.70.122.80",
- "__X_HTTP_RESULT_INDEX": "0"
- }, {
- "__X_HTTP_TRANSACTION": "request",
- "method": "POST",
- "uri": "/disAll/tcCertType.html",
- "req_version": "1.1",
- "major_version": 1,
- "minor_version": 1,
- "User-Agent": "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36",
- "Accept": "*/*",
- "Accept-Language": "en-US,en;q=0.8,en-us,en;q=0.5",
- "Origin": "http://58.16.70.122",
- "X-Requested-With": "XMLHttpRequest",
- "Referer": "http://58.16.70.122/register.jsp?redirect:http://58.16.70.122.r87.com/?",
- "Cache-Control": "no-cache",
- "X-Scanner": "Netsparker",
- "Cookie": "JSESSIONID=385C79E211D561C0CA13D90F150F603D",
- "Host": "58.16.70.122",
- "Content-Length": "0",
- "Accept-Encoding": "gzip, deflate",
- "__X_HTTP_URL": "58.16.70.122/disAll/tcCertType.html",
- "__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": "Apache-Coyote/1.1",
- "Pragma": "No-cache",
- "Expires": "Thu, 01 Jan 1970 00:00:00 GMT",
- "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",
- "method": "GET",
- "uri": "/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",
- "req_version": "1.1",
- "major_version": 1,
- "minor_version": 1,
- "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
- "User-Agent": "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36",
- "Cache-Control": "no-cache",
- "Accept-Language": "en-us,en;q=0.5",
- "X-Scanner": "Netsparker",
- "Cookie": "JSESSIONID=385C79E211D561C0CA13D90F150F603D",
- "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_RESULT_INDEX": "3"
- }, {
- "__X_HTTP_TRANSACTION": "response",
- "res_version": "1.1",
- "res_status": "OK",
- "major_version": 1,
- "minor_version": 1,
- "status_code": 200,
- "Server": "Apache-Coyote/1.1",
- "Accept-Ranges": "bytes",
- "ETag": "W/\"1703517-1546572172000\"",
- "Last-Modified": "Fri, 04 Jan 2019 03:22:52 GMT",
- "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"
- }]
+[
+ {
+ "__X_HTTP_TUPLE4": "192.168.117.60.39655>58.16.70.122.80"
+ },
+ {
+ "__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 0,
+ "method": "POST",
+ "uri": "/disAll/tcCertType.html",
+ "req_version": "1.1",
+ "major_version": 1,
+ "minor_version": 1,
+ "User-Agent": "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36",
+ "Accept": "*/*",
+ "Accept-Language": "en-US,en;q=0.8,en-us,en;q=0.5",
+ "Origin": "http://58.16.70.122",
+ "X-Requested-With": "XMLHttpRequest",
+ "Referer": "http://58.16.70.122/register.jsp?redirect:http://58.16.70.122.r87.com/?",
+ "Cache-Control": "no-cache",
+ "X-Scanner": "Netsparker",
+ "Cookie": "JSESSIONID=385C79E211D561C0CA13D90F150F603D",
+ "Host": "58.16.70.122",
+ "Content-Length": "0",
+ "Accept-Encoding": "gzip, deflate",
+ "__X_HTTP_URL": "58.16.70.122/disAll/tcCertType.html"
+ },
+ {
+ "__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,
+ "Server": "Apache-Coyote/1.1",
+ "Pragma": "No-cache",
+ "Expires": "Thu, 01 Jan 1970 00:00:00 GMT",
+ "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_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 1,
+ "method": "GET",
+ "uri": "/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",
+ "req_version": "1.1",
+ "major_version": 1,
+ "minor_version": 1,
+ "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
+ "User-Agent": "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36",
+ "Cache-Control": "no-cache",
+ "Accept-Language": "en-us,en;q=0.5",
+ "X-Scanner": "Netsparker",
+ "Cookie": "JSESSIONID=385C79E211D561C0CA13D90F150F603D",
+ "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_TRANSACTION": "response",
+ "__X_HTTP_TRANSACTION_SEQ": 1,
+ "res_version": "1.1",
+ "res_status": "OK",
+ "major_version": 1,
+ "minor_version": 1,
+ "status_code": 200,
+ "Server": "Apache-Coyote/1.1",
+ "Accept-Ranges": "bytes",
+ "ETag": "W/\"1703517-1546572172000\"",
+ "Last-Modified": "Fri, 04 Jan 2019 03:22:52 GMT",
+ "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"
+ }
+] \ No newline at end of file
diff --git a/test/test_result_json/http_get_long_cookie.json b/test/test_result_json/http_get_long_cookie.json
index 8c73779..4efa43d 100644
--- a/test/test_result_json/http_get_long_cookie.json
+++ b/test/test_result_json/http_get_long_cookie.json
@@ -1,10 +1,10 @@
[
{
- "__X_HTTP_TUPLE4": "202.127.156.91.27282>14.17.32.203.80",
- "__X_HTTP_RESULT_INDEX": "0"
+ "__X_HTTP_TUPLE4": "202.127.156.91.27282>14.17.32.203.80"
},
{
"__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 0,
"method": "GET",
"uri": "/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",
"req_version": "1.1",
@@ -18,7 +18,6 @@
"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",
- "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_RESULT_INDEX": "1"
+ "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"
}
] \ No newline at end of file
diff --git a/test/test_result_json/http_get_malformed.json b/test/test_result_json/http_get_malformed.json
index 384ef5b..dacb51f 100644
--- a/test/test_result_json/http_get_malformed.json
+++ b/test/test_result_json/http_get_malformed.json
@@ -1,19 +1,19 @@
[
{
- "__X_HTTP_TUPLE4": "192.168.4.2.36598>108.61.176.217.80",
- "__X_HTTP_RESULT_INDEX": "0"
+ "__X_HTTP_TUPLE4": "192.168.4.2.36598>108.61.176.217.80"
},
{
"__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 0,
"method": "GET",
"uri": "/",
"req_version": "1.1",
"major_version": 1,
- "minor_version": 1,
- "__X_HTTP_RESULT_INDEX": "1"
+ "minor_version": 1
},
{
"__X_HTTP_TRANSACTION": "response",
+ "__X_HTTP_TRANSACTION_SEQ": 0,
"res_version": "1.0",
"res_status": "OK",
"major_version": 1,
@@ -23,7 +23,6 @@
"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"
+ "__X_HTTP_PAYLOAD_MD5": "1807c0ebdda65240e058706d9626d2af"
}
] \ 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 9cd6b57..4ac91bc 100644
--- a/test/test_result_json/http_get_multi_trans.json
+++ b/test/test_result_json/http_get_multi_trans.json
@@ -1,10 +1,10 @@
[
{
- "__X_HTTP_TUPLE4": "192.168.50.18.60400>192.168.42.1.80",
- "__X_HTTP_RESULT_INDEX": "0"
+ "__X_HTTP_TUPLE4": "192.168.50.18.60400>192.168.42.1.80"
},
{
"__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 0,
"method": "GET",
"uri": "/account/login.htm",
"req_version": "1.1",
@@ -18,11 +18,11 @@
"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_URL": "test.pro.testin.cn/account/login.htm"
},
{
"__X_HTTP_TRANSACTION": "response",
+ "__X_HTTP_TRANSACTION_SEQ": 0,
"res_version": "1.1",
"major_version": 1,
"minor_version": 1,
@@ -35,11 +35,11 @@
"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"
+ "Content-Language": "zh-CN"
},
{
"__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 1,
"method": "GET",
"uri": "/enterprise/index.htm",
"req_version": "1.1",
@@ -53,11 +53,11 @@
"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_URL": "test.pro.testin.cn/enterprise/index.htm"
},
{
"__X_HTTP_TRANSACTION": "response",
+ "__X_HTTP_TRANSACTION_SEQ": 1,
"res_version": "1.1",
"major_version": 1,
"minor_version": 1,
@@ -69,11 +69,11 @@
"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"
+ "Content-Language": "zh-CN"
},
{
"__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 2,
"method": "GET",
"uri": "/enterprise/into.htm?eid=1",
"req_version": "1.1",
@@ -87,11 +87,11 @@
"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_URL": "test.pro.testin.cn/enterprise/into.htm?eid=1"
},
{
"__X_HTTP_TRANSACTION": "response",
+ "__X_HTTP_TRANSACTION_SEQ": 2,
"res_version": "1.1",
"major_version": 1,
"minor_version": 1,
@@ -103,11 +103,11 @@
"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"
+ "Content-Language": "zh-CN"
},
{
"__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 3,
"method": "GET",
"uri": "/realmachine/index.htm",
"req_version": "1.1",
@@ -121,11 +121,11 @@
"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_URL": "test.pro.testin.cn/realmachine/index.htm"
},
{
"__X_HTTP_TRANSACTION": "response",
+ "__X_HTTP_TRANSACTION_SEQ": 3,
"res_version": "1.1",
"major_version": 1,
"minor_version": 1,
@@ -143,7 +143,6 @@
"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"
+ "__X_HTTP_PAYLOAD_MD5": "39cb5f3a9cbcfbd16f66e040ec49b8c4"
}
] \ 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 e3c692b..cf41888 100644
--- a/test/test_result_json/http_get_req_pipeline.json
+++ b/test/test_result_json/http_get_req_pipeline.json
@@ -1,10 +1,10 @@
[
{
- "__X_HTTP_TUPLE4": "192.168.40.81.52802>192.168.40.137.80",
- "__X_HTTP_RESULT_INDEX": "0"
+ "__X_HTTP_TUPLE4": "192.168.40.81.52802>192.168.40.137.80"
},
{
"__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 0,
"method": "GET",
"uri": "/aa.mp4?asf=sdaf",
"req_version": "1.1",
@@ -16,11 +16,11 @@
"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_RESULT_INDEX": "1"
+ "__X_HTTP_URL": "113.31.27.226/aa.mp4?asf=sdaf"
},
{
"__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 1,
"method": "GET",
"uri": "/fetch_ldns.png",
"req_version": "1.1",
@@ -32,11 +32,11 @@
"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_RESULT_INDEX": "2"
+ "__X_HTTP_URL": "ns.pb.cachecn.net/fetch_ldns.png"
},
{
"__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 2,
"method": "GET",
"uri": "/40x.jpg",
"req_version": "1.1",
@@ -48,11 +48,11 @@
"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_RESULT_INDEX": "3"
+ "__X_HTTP_URL": "ns.pb.cachecn.net/40x.jpg"
},
{
"__X_HTTP_TRANSACTION": "response",
+ "__X_HTTP_TRANSACTION_SEQ": 0,
"res_version": "1.0",
"res_status": "File not found",
"major_version": 1,
@@ -62,7 +62,6 @@
"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"
+ "__X_HTTP_PAYLOAD_MD5": "6fb335f443cfc8a9d952d27cf3dc1059"
}
] \ 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 98c2c27..4fa6181 100644
--- a/test/test_result_json/http_get_single_trans.json
+++ b/test/test_result_json/http_get_single_trans.json
@@ -1,30 +1,34 @@
-[{
- "__X_HTTP_TUPLE4": "192.168.38.73.50806>192.168.40.137.80",
- "__X_HTTP_RESULT_INDEX": "0"
- }, {
- "__X_HTTP_TRANSACTION": "request",
- "method": "GET",
- "uri": "/index.html",
- "req_version": "1.1",
- "major_version": 1,
- "minor_version": 1,
- "Host": "192.168.40.137",
- "User-Agent": "curl/7.79.1",
- "Accept": "*/*",
- "__X_HTTP_URL": "192.168.40.137/index.html",
- "__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": "SimpleHTTP/0.6 Python/2.7.5",
- "Date": "Thu, 30 Nov 2023 08:42:24 GMT",
- "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"
- }]
+[
+ {
+ "__X_HTTP_TUPLE4": "192.168.38.73.50806>192.168.40.137.80"
+ },
+ {
+ "__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 0,
+ "method": "GET",
+ "uri": "/index.html",
+ "req_version": "1.1",
+ "major_version": 1,
+ "minor_version": 1,
+ "Host": "192.168.40.137",
+ "User-Agent": "curl/7.79.1",
+ "Accept": "*/*",
+ "__X_HTTP_URL": "192.168.40.137/index.html"
+ },
+ {
+ "__X_HTTP_TRANSACTION": "response",
+ "__X_HTTP_TRANSACTION_SEQ": 0,
+ "res_version": "1.0",
+ "res_status": "OK",
+ "major_version": 1,
+ "minor_version": 0,
+ "status_code": 200,
+ "Server": "SimpleHTTP/0.6 Python/2.7.5",
+ "Date": "Thu, 30 Nov 2023 08:42:24 GMT",
+ "Content-type": "text/html",
+ "Content-Length": "144",
+ "Last-Modified": "Thu, 30 Nov 2023 08:38:54 GMT",
+ "__X_HTTP_PAYLOAD_MD5": "3e11876cd3a234541ae37d833c088a76",
+ "__X_HTTP_PAYLOAD": "PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8aGVhZD4KPHRpdGxlPlBhZ2UgVGl0bGU8L3RpdGxlPgo8L2hlYWQ+Cjxib2R5PgoKPGgxPlRoaXMgaXMgYSBIZWFkaW5nPC9oMT4KPHA+VGhpcyBpcyBhIHBhcmFncmFwaC48L3A+Cgo8L2JvZHk+CjwvaHRtbD4K"
+ }
+] \ No newline at end of file
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 50f1ec6..a549339 100644
--- a/test/test_result_json/http_hdr_truncated_after_kv.json
+++ b/test/test_result_json/http_hdr_truncated_after_kv.json
@@ -1,10 +1,10 @@
[
{
- "__X_HTTP_TUPLE4": "196.188.112.76.51494>23.246.50.149.80",
- "__X_HTTP_RESULT_INDEX": "0"
+ "__X_HTTP_TUPLE4": "196.188.112.76.51494>23.246.50.149.80"
},
{
"__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 0,
"method": "GET",
"uri": "/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABQSwLpJi-yDFZ7k9eqarY3x3-b99vNxxOt5xDeIOapZB6Y5QXPSa54b7cbWYTXYdFimDKCeJ4s7ngqpqByvtt0aLh85nSucLTcR3-OKleuNwVltHUscQhSgVfHc.jpg?r=392",
"req_version": "1.1",
@@ -18,11 +18,11 @@
"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-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABQSwLpJi-yDFZ7k9eqarY3x3-b99vNxxOt5xDeIOapZB6Y5QXPSa54b7cbWYTXYdFimDKCeJ4s7ngqpqByvtt0aLh85nSucLTcR3-OKleuNwVltHUscQhSgVfHc.jpg?r=392"
},
{
"__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 1,
"method": "GET",
"uri": "/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABUWN8S1k3yM2coX2bwxbP699Jdr0BUqBRzIfiAJXKC5Ywt7DXqJOCjrBSYs36Tny8277IXm2BF_cgTmY18NJlocglKjhaoJhFeGoIg1cwntFduyxyRPP2EJQL5Y.jpg?r=e0e",
"req_version": "1.1",
@@ -36,11 +36,11 @@
"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-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABUWN8S1k3yM2coX2bwxbP699Jdr0BUqBRzIfiAJXKC5Ywt7DXqJOCjrBSYs36Tny8277IXm2BF_cgTmY18NJlocglKjhaoJhFeGoIg1cwntFduyxyRPP2EJQL5Y.jpg?r=e0e"
},
{
"__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 2,
"method": "GET",
"uri": "/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABR1YQS01SaHGzoxgWBJF1Gas0Gv9_DPebb4irdCTRjcQ_FUaVbXFTTrJ68_bvJds1sb28VMq22Qn3oSSKKJ7DdLN8ybgkJooYlCD3gAntrqgIFugqv5Z3kV8rRE.jpg?r=ec7",
"req_version": "1.1",
@@ -54,11 +54,11 @@
"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-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABR1YQS01SaHGzoxgWBJF1Gas0Gv9_DPebb4irdCTRjcQ_FUaVbXFTTrJ68_bvJds1sb28VMq22Qn3oSSKKJ7DdLN8ybgkJooYlCD3gAntrqgIFugqv5Z3kV8rRE.jpg?r=ec7"
},
{
"__X_HTTP_TRANSACTION": "response",
+ "__X_HTTP_TRANSACTION_SEQ": 0,
"res_version": "1.1",
"res_status": "OK",
"major_version": 1,
@@ -72,11 +72,11 @@
"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_PAYLOAD_MD5": "c289a42885b30107ad119e2a6e405e4d"
},
{
"__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 3,
"method": "GET",
"uri": "/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABYo5IGwDn1LaWbeaa7amS0JhH3bU5MEVlcBsC4OK0mGbea97_xoi8EbqJt8_Zp0bMuuKPE80qUUjb4wq5po_lBtulA.jpg?r=c83",
"req_version": "1.1",
@@ -90,11 +90,11 @@
"__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-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABYo5IGwDn1LaWbeaa7amS0JhH3bU5MEVlcBsC4OK0mGbea97_xoi8EbqJt8_Zp0bMuuKPE80qUUjb4wq5po_lBtulA.jpg?r=c83"
},
{
"__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 4,
"method": "GET",
"uri": "/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABaYF3Rmi954cg6Afu9jOtirnvF3iIMHPZCCnP34eDeYQXfRGG9Vg0qgn7hHpMVV4jOr8OZmcD2Nb7MhQv6gl-fNmVQ.jpg?r=257",
"req_version": "1.1",
@@ -108,11 +108,11 @@
"__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-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABaYF3Rmi954cg6Afu9jOtirnvF3iIMHPZCCnP34eDeYQXfRGG9Vg0qgn7hHpMVV4jOr8OZmcD2Nb7MhQv6gl-fNmVQ.jpg?r=257"
},
{
"__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 5,
"method": "GET",
"uri": "/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABfC-ByjFJSfWZf7MFtjVl3ONnaQ69824xWP1l-cpAFGgAfaNFk4XR9uoHNWwnbG8N2UVDctVKz0a4Uyv0mEnC2kI9Q.jpg?r=532",
"req_version": "1.1",
@@ -126,11 +126,11 @@
"__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-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABfC-ByjFJSfWZf7MFtjVl3ONnaQ69824xWP1l-cpAFGgAfaNFk4XR9uoHNWwnbG8N2UVDctVKz0a4Uyv0mEnC2kI9Q.jpg?r=532"
},
{
"__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 6,
"method": "GET",
"uri": "/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABSyGFXaB0IqQ6VR92uKMi38mNtoz7eeWxDziAf9VYKfauhh5Qo7FnnCRb31ff6Ez9yTXsqRszsGuz0GA9FVDf_NLn-9F60IcUHm59J73eYX6BD0h4wLLK0Da6YM.jpg?r=aaa",
"req_version": "1.1",
@@ -144,11 +144,11 @@
"__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-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABSyGFXaB0IqQ6VR92uKMi38mNtoz7eeWxDziAf9VYKfauhh5Qo7FnnCRb31ff6Ez9yTXsqRszsGuz0GA9FVDf_NLn-9F60IcUHm59J73eYX6BD0h4wLLK0Da6YM.jpg?r=aaa"
},
{
"__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 7,
"method": "GET",
"uri": "/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABZbHXQr7bRUpSQ2vQe8F8p3xODTJjUbSjEcLgQrFVyGsPgQT1GVhqGWFetJhebcGrVeZGOTmQ3qvHTe9eBRJdjFsVg.jpg?r=723",
"req_version": "1.1",
@@ -162,11 +162,11 @@
"__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-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABZbHXQr7bRUpSQ2vQe8F8p3xODTJjUbSjEcLgQrFVyGsPgQT1GVhqGWFetJhebcGrVeZGOTmQ3qvHTe9eBRJdjFsVg.jpg?r=723"
},
{
"__X_HTTP_TRANSACTION": "response",
+ "__X_HTTP_TRANSACTION_SEQ": 1,
"res_version": "1.1",
"res_status": "OK",
"major_version": 1,
@@ -180,11 +180,11 @@
"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_PAYLOAD_MD5": "35d56b6a0ef3b5857013f44620bd8888"
},
{
"__X_HTTP_TRANSACTION": "response",
+ "__X_HTTP_TRANSACTION_SEQ": 2,
"res_version": "1.1",
"res_status": "OK",
"major_version": 1,
@@ -198,11 +198,11 @@
"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_PAYLOAD_MD5": "bb83961ad5fe366dcbb5240ead69f650"
},
{
"__X_HTTP_TRANSACTION": "response",
+ "__X_HTTP_TRANSACTION_SEQ": 3,
"res_version": "1.1",
"res_status": "OK",
"major_version": 1,
@@ -216,11 +216,11 @@
"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_PAYLOAD_MD5": "c5be6a7137482da270bb2adc8d44a28d"
},
{
"__X_HTTP_TRANSACTION": "response",
+ "__X_HTTP_TRANSACTION_SEQ": 4,
"res_version": "1.1",
"res_status": "OK",
"major_version": 1,
@@ -234,11 +234,11 @@
"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_PAYLOAD_MD5": "61bec96775876749bb57139f86f6b0ca"
},
{
"__X_HTTP_TRANSACTION": "response",
+ "__X_HTTP_TRANSACTION_SEQ": 5,
"res_version": "1.1",
"res_status": "OK",
"major_version": 1,
@@ -252,11 +252,11 @@
"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_PAYLOAD_MD5": "841065529f1e89eabd0ef235a3d3291c"
},
{
"__X_HTTP_TRANSACTION": "response",
+ "__X_HTTP_TRANSACTION_SEQ": 6,
"res_version": "1.1",
"res_status": "OK",
"major_version": 1,
@@ -270,11 +270,11 @@
"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_PAYLOAD_MD5": "21d4b2c21a3a2f26ba665670e8513940"
},
{
"__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 8,
"method": "GET",
"uri": "/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABSFXjTUaVrddq_nehO4yuLziSjuekxJuv3oEsyUpmt3oK3InJcXjtZUHrBBuu0EP05WRC8wFVe78VtxtW_ZuZQ65MIcApb0oZF4JoFlHHnv363RbgJn898Q4tQc.jpg?r=590",
"req_version": "1.1",
@@ -288,11 +288,11 @@
"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-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABSFXjTUaVrddq_nehO4yuLziSjuekxJuv3oEsyUpmt3oK3InJcXjtZUHrBBuu0EP05WRC8wFVe78VtxtW_ZuZQ65MIcApb0oZF4JoFlHHnv363RbgJn898Q4tQc.jpg?r=590"
},
{
"__X_HTTP_TRANSACTION": "response",
+ "__X_HTTP_TRANSACTION_SEQ": 7,
"res_version": "1.1",
"res_status": "OK",
"major_version": 1,
@@ -306,7 +306,6 @@
"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"
+ "__X_HTTP_PAYLOAD_MD5": "f18a76ecf35648cb46ea6f42e4391cb8"
}
] \ 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 966572e..d774320 100644
--- a/test/test_result_json/http_hdr_truncated_in_kv.json
+++ b/test/test_result_json/http_hdr_truncated_in_kv.json
@@ -1,10 +1,10 @@
[
{
- "__X_HTTP_TUPLE4": "196.190.248.93.32727>94.130.141.49.80",
- "__X_HTTP_RESULT_INDEX": "0"
+ "__X_HTTP_TUPLE4": "196.190.248.93.32727>94.130.141.49.80"
},
{
"__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 0,
"method": "GET",
"uri": "/iframes2/e38f4959d33f4fa390045b0d7123997d.html?subid=65843620",
"req_version": "1.1",
@@ -18,11 +18,11 @@
"Referer": "http://the-sexy-tube.com/",
"Accept-Encoding": "gzip, deflate",
"Accept-Language": "en-GB,en-US;q=0.9,en;q=0.8",
- "__X_HTTP_URL": "tsyndicate.com/iframes2/e38f4959d33f4fa390045b0d7123997d.html?subid=65843620",
- "__X_HTTP_RESULT_INDEX": "1"
+ "__X_HTTP_URL": "tsyndicate.com/iframes2/e38f4959d33f4fa390045b0d7123997d.html?subid=65843620"
},
{
"__X_HTTP_TRANSACTION": "response",
+ "__X_HTTP_TRANSACTION_SEQ": 0,
"res_version": "1.1",
"res_status": "OK",
"major_version": 1,
@@ -48,7 +48,6 @@
"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"
+ "__X_HTTP_PAYLOAD_MD5": "075802aa31b42d465d56b213915fb0a2"
}
] \ 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 2d7483d..e8d3088 100644
--- a/test/test_result_json/http_hdr_value_empty.json
+++ b/test/test_result_json/http_hdr_value_empty.json
@@ -1,10 +1,10 @@
[
{
- "__X_HTTP_TUPLE4": "192.168.131.33.47164>192.168.204.67.4445",
- "__X_HTTP_RESULT_INDEX": "0"
+ "__X_HTTP_TUPLE4": "192.168.131.33.47164>192.168.204.67.4445"
},
{
"__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 0,
"method": "POST",
"uri": "http://:4445/RPC2",
"req_version": "1.1",
@@ -15,12 +15,12 @@
"Content-Type": "text/xml",
"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"
+ "__X_HTTP_URL": ":4445/RPC2",
+ "__X_HTTP_PAYLOAD_MD5": "033e27f72bc41b4a7e222df464749420"
},
{
"__X_HTTP_TRANSACTION": "response",
+ "__X_HTTP_TRANSACTION_SEQ": 0,
"res_version": "1.1",
"res_status": "OK",
"major_version": 1,
@@ -31,7 +31,6 @@
"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"
+ "__X_HTTP_PAYLOAD_MD5": "69db29507d10b0d57fcaa5afffd81934"
}
] \ 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 105588e..56513ae 100644
--- a/test/test_result_json/http_hdrs_exceed_maximum.json
+++ b/test/test_result_json/http_hdrs_exceed_maximum.json
@@ -1,47 +1,50 @@
-[{
- "__X_HTTP_TUPLE4": "10.0.0.1.61462>10.0.0.2.80",
- "__X_HTTP_RESULT_INDEX": "0"
- }, {
- "__X_HTTP_TRANSACTION": "request",
- "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_RESULT_INDEX": "1"
- }, {
- "__X_HTTP_TRANSACTION": "response",
- "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_PAYLOAD_MD5": "ad480fd0732d0f6f1a8b06359e3a42bb",
- "__X_HTTP_RESULT_INDEX": "2"
- }]
+[
+ {
+ "__X_HTTP_TUPLE4": "10.0.0.1.61462>10.0.0.2.80"
+ },
+ {
+ "__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_PAYLOAD_MD5": "ad480fd0732d0f6f1a8b06359e3a42bb"
+ }
+] \ No newline at end of file
diff --git a/test/test_result_json/http_multi_parse_error.json b/test/test_result_json/http_multi_parse_error.json
index d50c449..b74de5b 100644
--- a/test/test_result_json/http_multi_parse_error.json
+++ b/test/test_result_json/http_multi_parse_error.json
@@ -1,10 +1,10 @@
[
{
- "__X_HTTP_TUPLE4": "192.168.131.33.47172>192.168.204.67.4445",
- "__X_HTTP_RESULT_INDEX": "0"
+ "__X_HTTP_TUPLE4": "192.168.131.33.47172>192.168.204.67.4445"
},
{
"__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 0,
"method": "POST",
"uri": "http://:4445/RPC2",
"req_version": "1.1",
@@ -15,12 +15,12 @@
"Content-Type": "text/xml",
"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"
+ "__X_HTTP_URL": ":4445/RPC2",
+ "__X_HTTP_PAYLOAD_MD5": "6eccbcf261f04aabfa69884aa283f4f3"
},
{
"__X_HTTP_TRANSACTION": "response",
+ "__X_HTTP_TRANSACTION_SEQ": 0,
"res_version": "1.1",
"res_status": "OK",
"major_version": 1,
@@ -31,7 +31,6 @@
"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"
+ "__X_HTTP_PAYLOAD_MD5": "5cf8a4aa9a54e7f2d05b55ed05bf9071"
}
] \ 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 04d4ad4..46fcf75 100644
--- a/test/test_result_json/http_no_content_length.json
+++ b/test/test_result_json/http_no_content_length.json
@@ -1,10 +1,10 @@
[
{
- "__X_HTTP_TUPLE4": "10.0.0.1.50384>10.0.0.2.80",
- "__X_HTTP_RESULT_INDEX": "0"
+ "__X_HTTP_TUPLE4": "10.0.0.1.50384>10.0.0.2.80"
},
{
"__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 0,
"method": "GET",
"uri": "/js/xxxxxx.js",
"req_version": "1.1",
@@ -20,11 +20,11 @@
"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_RESULT_INDEX": "1"
+ "__X_HTTP_URL": "xxxxxxx.xxxxxx.xx/js/xxxxxx.js"
},
{
"__X_HTTP_TRANSACTION": "response",
+ "__X_HTTP_TRANSACTION_SEQ": 0,
"res_version": "1.0",
"res_status": "OK",
"major_version": 1,
@@ -40,7 +40,6 @@
"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"
+ "__X_HTTP_PAYLOAD_MD5": "9fb54a2726ca3cf54a82804d0e66d08a"
}
] \ 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 c2ff274..c99b034 100644
--- a/test/test_result_json/http_over_pppoe.json
+++ b/test/test_result_json/http_over_pppoe.json
@@ -1,10 +1,10 @@
[
{
- "__X_HTTP_TUPLE4": "2a00:5e80:101:212d:504:7b1:2572:db22.37034>2606:f200:0:7:bad:f00d:d00d:1.80",
- "__X_HTTP_RESULT_INDEX": "0"
+ "__X_HTTP_TUPLE4": "2a00:5e80:101:212d:504:7b1:2572:db22.37034>2606:f200:0:7:bad:f00d:d00d:1.80"
},
{
"__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 0,
"method": "GET",
"uri": "/",
"req_version": "1.1",
@@ -13,11 +13,11 @@
"User-Agent": "curl/7.34.0",
"Host": "ipv6.icanhazip.com",
"Accept": "*/*",
- "__X_HTTP_URL": "ipv6.icanhazip.com/",
- "__X_HTTP_RESULT_INDEX": "1"
+ "__X_HTTP_URL": "ipv6.icanhazip.com/"
},
{
"__X_HTTP_TRANSACTION": "response",
+ "__X_HTTP_TRANSACTION_SEQ": 0,
"res_version": "1.1",
"res_status": "OK",
"major_version": 1,
@@ -30,7 +30,6 @@
"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"
+ "__X_HTTP_PAYLOAD_MD5": "624520ac54235ac2284ed2dd2b17e1ad"
}
] \ 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 2231a2d..bfe9744 100644
--- a/test/test_result_json/http_over_tcp_keepalive.json
+++ b/test/test_result_json/http_over_tcp_keepalive.json
@@ -1,10 +1,10 @@
[
{
- "__X_HTTP_TUPLE4": "192.168.56.66.55356>60.190.243.167.80",
- "__X_HTTP_RESULT_INDEX": "0"
+ "__X_HTTP_TUPLE4": "192.168.56.66.55356>60.190.243.167.80"
},
{
"__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 0,
"method": "GET",
"uri": "/",
"req_version": "1.1",
@@ -19,11 +19,11 @@
"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_URL": "www.yumi.com/"
},
{
"__X_HTTP_TRANSACTION": "response",
+ "__X_HTTP_TRANSACTION_SEQ": 0,
"res_version": "1.1",
"res_status": "OK",
"major_version": 1,
@@ -39,7 +39,6 @@
"Pragma": "no-cache",
"Cache-Control": "no-store",
"Content-Encoding": "gzip",
- "__X_HTTP_PAYLOAD_MD5": "af9b1a0118edd2920db355f9eee4ab75",
- "__X_HTTP_RESULT_INDEX": "2"
+ "__X_HTTP_PAYLOAD_MD5": "af9b1a0118edd2920db355f9eee4ab75"
}
] \ 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 68622f1..d65bd6c 100644
--- a/test/test_result_json/http_post_multipart_form_data.json
+++ b/test/test_result_json/http_post_multipart_form_data.json
@@ -1,10 +1,10 @@
[
{
- "__X_HTTP_TUPLE4": "192.168.8.97.11371>192.168.57.14.8080",
- "__X_HTTP_RESULT_INDEX": "0"
+ "__X_HTTP_TUPLE4": "192.168.8.97.11371>192.168.57.14.8080"
},
{
"__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 0,
"method": "GET",
"uri": "/fileupload/",
"req_version": "1.1",
@@ -17,11 +17,11 @@
"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_RESULT_INDEX": "1"
+ "__X_HTTP_URL": "192.168.57.14:8080/fileupload/"
},
{
"__X_HTTP_TRANSACTION": "response",
+ "__X_HTTP_TRANSACTION_SEQ": 0,
"res_version": "1.1",
"res_status": "OK",
"major_version": 1,
@@ -31,11 +31,11 @@
"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"
+ "__X_HTTP_PAYLOAD_MD5": "2b8cd757ab5ffba85acac26c008a1ffc"
},
{
"__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 1,
"method": "GET",
"uri": "/fileupload/",
"req_version": "1.1",
@@ -48,11 +48,11 @@
"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_RESULT_INDEX": "3"
+ "__X_HTTP_URL": "192.168.57.14:8080/fileupload/"
},
{
"__X_HTTP_TRANSACTION": "response",
+ "__X_HTTP_TRANSACTION_SEQ": 1,
"res_version": "1.1",
"res_status": "OK",
"major_version": 1,
@@ -62,11 +62,11 @@
"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"
+ "__X_HTTP_PAYLOAD_MD5": "2b8cd757ab5ffba85acac26c008a1ffc"
},
{
"__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 2,
"method": "POST",
"uri": "/fileupload/servlet/UploadHandleServlet",
"req_version": "1.1",
@@ -85,11 +85,11 @@
"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"
+ "__X_HTTP_PAYLOAD_MD5": "550be33bf0ac01b6f7ac175bb8f4522a"
},
{
"__X_HTTP_TRANSACTION": "response",
+ "__X_HTTP_TRANSACTION_SEQ": 2,
"res_version": "1.1",
"res_status": "OK",
"major_version": 1,
@@ -99,7 +99,6 @@
"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"
+ "__X_HTTP_PAYLOAD_MD5": "3fa07f3ec9f9fefed96e9886f80760bb"
}
] \ 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
index 7880736..b6b8c65 100644
--- a/test/test_result_json/http_post_single_trans.json
+++ b/test/test_result_json/http_post_single_trans.json
@@ -1,10 +1,10 @@
[
{
- "__X_HTTP_TUPLE4": "192.168.38.83.55186>192.168.40.139.8080",
- "__X_HTTP_RESULT_INDEX": "0"
+ "__X_HTTP_TUPLE4": "192.168.38.83.55186>192.168.40.139.8080"
},
{
"__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 0,
"method": "POST",
"uri": "/",
"req_version": "1.1",
@@ -20,11 +20,11 @@
"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_PAYLOAD_MD5": "5ffe2871e6d5f6ee25ad7c1bfdd9f7b3"
},
{
"__X_HTTP_TRANSACTION": "response",
+ "__X_HTTP_TRANSACTION_SEQ": 0,
"res_version": "1.0",
"res_status": "OK",
"major_version": 1,
@@ -33,7 +33,6 @@
"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"
+ "__X_HTTP_PAYLOAD_MD5": "cd8a54dd3e915946c4df262111e5aa05"
}
] \ 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 f027d71..b2aafcc 100644
--- a/test/test_result_json/http_req_1byte_sliding_window.json
+++ b/test/test_result_json/http_req_1byte_sliding_window.json
@@ -1,10 +1,10 @@
[
{
- "__X_HTTP_TUPLE4": "192.168.40.137.46180>192.168.42.40.80",
- "__X_HTTP_RESULT_INDEX": "0"
+ "__X_HTTP_TUPLE4": "192.168.40.137.46180>192.168.42.40.80"
},
{
"__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 0,
"method": "GET",
"uri": "/index.html",
"req_version": "1.1",
@@ -14,11 +14,11 @@
"Accept": "*/*",
"Host": "192.168.42.40",
"__X_HTTP_URL": "192.168.42.40/index.html",
- "Connection": "Keep-Alive",
- "__X_HTTP_RESULT_INDEX": "1"
+ "Connection": "Keep-Alive"
},
{
"__X_HTTP_TRANSACTION": "response",
+ "__X_HTTP_TRANSACTION_SEQ": 0,
"res_version": "1.0",
"res_status": "OK",
"major_version": 1,
@@ -29,7 +29,6 @@
"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"
+ "__X_HTTP_PAYLOAD_MD5": "3e11876cd3a234541ae37d833c088a76"
}
] \ 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 adf86ca..cc1f50b 100644
--- a/test/test_result_json/http_res_1byte_sliding_window.json
+++ b/test/test_result_json/http_res_1byte_sliding_window.json
@@ -1,10 +1,10 @@
[
{
- "__X_HTTP_TUPLE4": "192.168.42.40.36338>192.168.40.137.80",
- "__X_HTTP_RESULT_INDEX": "0"
+ "__X_HTTP_TUPLE4": "192.168.42.40.36338>192.168.40.137.80"
},
{
"__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 0,
"method": "GET",
"uri": "/index.html",
"req_version": "1.1",
@@ -14,11 +14,11 @@
"Accept": "*/*",
"Host": "192.168.40.137",
"Connection": "Keep-Alive",
- "__X_HTTP_URL": "192.168.40.137/index.html",
- "__X_HTTP_RESULT_INDEX": "1"
+ "__X_HTTP_URL": "192.168.40.137/index.html"
},
{
"__X_HTTP_TRANSACTION": "response",
+ "__X_HTTP_TRANSACTION_SEQ": 0,
"res_version": "1.0",
"res_status": "OK",
"major_version": 1,
@@ -29,7 +29,6 @@
"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"
+ "__X_HTTP_PAYLOAD_MD5": "3e11876cd3a234541ae37d833c088a76"
}
] \ 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 fe2e621..58b0bb7 100644
--- a/test/test_result_json/http_res_gzip.json
+++ b/test/test_result_json/http_res_gzip.json
@@ -1,10 +1,10 @@
[
{
- "__X_HTTP_TUPLE4": "192.168.69.2.34059>192.168.69.1.80",
- "__X_HTTP_RESULT_INDEX": "0"
+ "__X_HTTP_TUPLE4": "192.168.69.2.34059>192.168.69.1.80"
},
{
"__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 0,
"method": "GET",
"uri": "/test/ethereal.html",
"req_version": "1.1",
@@ -19,11 +19,11 @@
"Keep-Alive": "300",
"Connection": "keep-alive",
"Cookie": "FGNCLIID=05c04axp1yaqynldtcdiwis0ag1",
- "__X_HTTP_URL": "cerberus/test/ethereal.html",
- "__X_HTTP_RESULT_INDEX": "1"
+ "__X_HTTP_URL": "cerberus/test/ethereal.html"
},
{
"__X_HTTP_TRANSACTION": "response",
+ "__X_HTTP_TRANSACTION_SEQ": 0,
"res_version": "1.1",
"res_status": "OK",
"major_version": 1,
@@ -39,7 +39,6 @@
"Content-Length": "92",
"Connection": "close",
"Content-Type": "text/html; charset=UTF-8",
- "__X_HTTP_PAYLOAD_MD5": "61b9e97f96045587bb55db781f7543ad",
- "__X_HTTP_RESULT_INDEX": "2"
+ "__X_HTTP_PAYLOAD_MD5": "61b9e97f96045587bb55db781f7543ad"
}
] \ 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 94ffec8..aadf9ca 100644
--- a/test/test_result_json/http_trans_pipeline.json
+++ b/test/test_result_json/http_trans_pipeline.json
@@ -1,10 +1,10 @@
[
{
- "__X_HTTP_TUPLE4": "223.72.39.14.2545>192.168.182.147.80",
- "__X_HTTP_RESULT_INDEX": "0"
+ "__X_HTTP_TUPLE4": "223.72.39.14.2545>192.168.182.147.80"
},
{
"__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 0,
"method": "GET",
"uri": "/postinfo.html",
"req_version": "1.1",
@@ -13,11 +13,11 @@
"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_RESULT_INDEX": "1"
+ "__X_HTTP_URL": "116.181.2.152/postinfo.html"
},
{
"__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 1,
"method": "GET",
"uri": "/_vti_bin/_vti_aut/author.dll",
"req_version": "1.1",
@@ -26,11 +26,11 @@
"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_RESULT_INDEX": "2"
+ "__X_HTTP_URL": "116.181.2.152/_vti_bin/_vti_aut/author.dll"
},
{
"__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 2,
"method": "GET",
"uri": "/_vti_bin/_vti_aut/author.exe",
"req_version": "1.1",
@@ -39,11 +39,11 @@
"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_RESULT_INDEX": "3"
+ "__X_HTTP_URL": "116.181.2.152/_vti_bin/_vti_aut/author.exe"
},
{
"__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 3,
"method": "GET",
"uri": "/_vti_bin/_vti_aut/dvwssr.dll",
"req_version": "1.1",
@@ -52,11 +52,11 @@
"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_RESULT_INDEX": "4"
+ "__X_HTTP_URL": "116.181.2.152/_vti_bin/_vti_aut/dvwssr.dll"
},
{
"__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 4,
"method": "GET",
"uri": "/_vti_bin/_vti_adm/admin.dll",
"req_version": "1.1",
@@ -65,11 +65,11 @@
"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_RESULT_INDEX": "5"
+ "__X_HTTP_URL": "116.181.2.152/_vti_bin/_vti_adm/admin.dll"
},
{
"__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 5,
"method": "GET",
"uri": "/_vti_bin/_vti_adm/admin.exe",
"req_version": "1.1",
@@ -78,11 +78,11 @@
"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_RESULT_INDEX": "6"
+ "__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",
@@ -91,11 +91,11 @@
"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_RESULT_INDEX": "7"
+ "__X_HTTP_URL": "116.181.2.152/_vti_bin/fpcount.exe?Page=default.asp|Image=3"
},
{
"__X_HTTP_TRANSACTION": "response",
+ "__X_HTTP_TRANSACTION_SEQ": 0,
"res_version": "1.1",
"res_status": "Not Found",
"major_version": 1,
@@ -106,11 +106,11 @@
"Content-Type": "text/html",
"Content-Length": "146",
"Connection": "keep-alive",
- "__X_HTTP_PAYLOAD_MD5": "32dc0b2772bd73a952abba009291a399",
- "__X_HTTP_RESULT_INDEX": "8"
+ "__X_HTTP_PAYLOAD_MD5": "32dc0b2772bd73a952abba009291a399"
},
{
"__X_HTTP_TRANSACTION": "response",
+ "__X_HTTP_TRANSACTION_SEQ": 1,
"res_version": "1.1",
"res_status": "Not Found",
"major_version": 1,
@@ -121,11 +121,11 @@
"Content-Type": "text/html",
"Content-Length": "146",
"Connection": "keep-alive",
- "__X_HTTP_PAYLOAD_MD5": "db2ff8008149d8e70d8a2929acbb0f56",
- "__X_HTTP_RESULT_INDEX": "9"
+ "__X_HTTP_PAYLOAD_MD5": "db2ff8008149d8e70d8a2929acbb0f56"
},
{
"__X_HTTP_TRANSACTION": "response",
+ "__X_HTTP_TRANSACTION_SEQ": 2,
"res_version": "1.1",
"res_status": "Not Found",
"major_version": 1,
@@ -136,11 +136,11 @@
"Content-Type": "text/html",
"Content-Length": "146",
"Connection": "keep-alive",
- "__X_HTTP_PAYLOAD_MD5": "f5df152f7d8f34c630f298d2fcb46ed3",
- "__X_HTTP_RESULT_INDEX": "10"
+ "__X_HTTP_PAYLOAD_MD5": "f5df152f7d8f34c630f298d2fcb46ed3"
},
{
"__X_HTTP_TRANSACTION": "response",
+ "__X_HTTP_TRANSACTION_SEQ": 3,
"res_version": "1.1",
"res_status": "Not Found",
"major_version": 1,
@@ -151,11 +151,11 @@
"Content-Type": "text/html",
"Content-Length": "146",
"Connection": "keep-alive",
- "__X_HTTP_PAYLOAD_MD5": "73e98ca7b62764869357b3e3c40dcd68",
- "__X_HTTP_RESULT_INDEX": "11"
+ "__X_HTTP_PAYLOAD_MD5": "73e98ca7b62764869357b3e3c40dcd68"
},
{
"__X_HTTP_TRANSACTION": "response",
+ "__X_HTTP_TRANSACTION_SEQ": 4,
"res_version": "1.1",
"res_status": "Not Found",
"major_version": 1,
@@ -166,11 +166,11 @@
"Content-Type": "text/html",
"Content-Length": "146",
"Connection": "keep-alive",
- "__X_HTTP_PAYLOAD_MD5": "a5733c8989bde7f08506fa68c20f0c62",
- "__X_HTTP_RESULT_INDEX": "12"
+ "__X_HTTP_PAYLOAD_MD5": "a5733c8989bde7f08506fa68c20f0c62"
},
{
"__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 7,
"method": "GET",
"uri": "/_vti_bin/shtml.dll",
"req_version": "1.1",
@@ -179,11 +179,11 @@
"Host": "116.181.2.152",
"User-Agent": "Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)",
"__X_HTTP_URL": "116.181.2.152/_vti_bin/shtml.dll",
- "Connection": "keep-alive",
- "__X_HTTP_RESULT_INDEX": "13"
+ "Connection": "keep-alive"
},
{
"__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 8,
"method": "GET",
"uri": "/_vti_bin/shtml.exe",
"req_version": "1.1",
@@ -192,11 +192,11 @@
"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_RESULT_INDEX": "14"
+ "__X_HTTP_URL": "116.181.2.152/_vti_bin/shtml.exe"
},
{
"__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 9,
"method": "GET",
"uri": "/_vti_pvt/_x_todo.htm",
"req_version": "1.1",
@@ -205,11 +205,11 @@
"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_RESULT_INDEX": "15"
+ "__X_HTTP_URL": "116.181.2.152/_vti_pvt/_x_todo.htm"
},
{
"__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 10,
"method": "GET",
"uri": "/_vti_pvt/_x_todoh.htm",
"req_version": "1.1",
@@ -218,11 +218,11 @@
"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_RESULT_INDEX": "16"
+ "__X_HTTP_URL": "116.181.2.152/_vti_pvt/_x_todoh.htm"
},
{
"__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 11,
"method": "GET",
"uri": "/_vti_pvt/access.cnf",
"req_version": "1.1",
@@ -231,11 +231,11 @@
"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_RESULT_INDEX": "17"
+ "__X_HTTP_URL": "116.181.2.152/_vti_pvt/access.cnf"
},
{
"__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 12,
"method": "GET",
"uri": "/_vti_pvt/administrator.pwd",
"req_version": "1.1",
@@ -244,11 +244,11 @@
"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_RESULT_INDEX": "18"
+ "__X_HTTP_URL": "116.181.2.152/_vti_pvt/administrator.pwd"
},
{
"__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 13,
"method": "GET",
"uri": "/_vti_pvt/administrators.pwd",
"req_version": "1.1",
@@ -257,11 +257,11 @@
"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_RESULT_INDEX": "19"
+ "__X_HTTP_URL": "116.181.2.152/_vti_pvt/administrators.pwd"
},
{
"__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 14,
"method": "GET",
"uri": "/_vti_pvt/authors.pwd",
"req_version": "1.1",
@@ -270,11 +270,11 @@
"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_RESULT_INDEX": "20"
+ "__X_HTTP_URL": "116.181.2.152/_vti_pvt/authors.pwd"
},
{
"__X_HTTP_TRANSACTION": "response",
+ "__X_HTTP_TRANSACTION_SEQ": 5,
"res_version": "1.1",
"res_status": "Not Found",
"major_version": 1,
@@ -285,11 +285,11 @@
"Content-Type": "text/html",
"Content-Length": "146",
"Connection": "keep-alive",
- "__X_HTTP_PAYLOAD_MD5": "4bc0dde3722f76d60fef6f1d878cbb14",
- "__X_HTTP_RESULT_INDEX": "21"
+ "__X_HTTP_PAYLOAD_MD5": "4bc0dde3722f76d60fef6f1d878cbb14"
},
{
"__X_HTTP_TRANSACTION": "response",
+ "__X_HTTP_TRANSACTION_SEQ": 6,
"res_version": "1.1",
"res_status": "Not Found",
"major_version": 1,
@@ -300,11 +300,11 @@
"Content-Type": "text/html",
"Content-Length": "146",
"Connection": "keep-alive",
- "__X_HTTP_PAYLOAD_MD5": "728dc2eafd49c9be8149add7c6aff207",
- "__X_HTTP_RESULT_INDEX": "22"
+ "__X_HTTP_PAYLOAD_MD5": "728dc2eafd49c9be8149add7c6aff207"
},
{
"__X_HTTP_TRANSACTION": "response",
+ "__X_HTTP_TRANSACTION_SEQ": 7,
"res_version": "1.1",
"res_status": "Not Found",
"major_version": 1,
@@ -315,11 +315,11 @@
"Content-Type": "text/html",
"Content-Length": "146",
"Connection": "keep-alive",
- "__X_HTTP_PAYLOAD_MD5": "0cde98e33181ee0ded49e8d0a3178d55",
- "__X_HTTP_RESULT_INDEX": "23"
+ "__X_HTTP_PAYLOAD_MD5": "0cde98e33181ee0ded49e8d0a3178d55"
},
{
"__X_HTTP_TRANSACTION": "response",
+ "__X_HTTP_TRANSACTION_SEQ": 8,
"res_version": "1.1",
"res_status": "Not Found",
"major_version": 1,
@@ -330,11 +330,11 @@
"Content-Type": "text/html",
"Content-Length": "146",
"Connection": "keep-alive",
- "__X_HTTP_PAYLOAD_MD5": "d627268e0aba817d818b6e2b7e41aa11",
- "__X_HTTP_RESULT_INDEX": "24"
+ "__X_HTTP_PAYLOAD_MD5": "d627268e0aba817d818b6e2b7e41aa11"
},
{
"__X_HTTP_TRANSACTION": "response",
+ "__X_HTTP_TRANSACTION_SEQ": 9,
"res_version": "1.1",
"res_status": "Not Found",
"major_version": 1,
@@ -345,11 +345,11 @@
"Content-Type": "text/html",
"Content-Length": "146",
"Connection": "keep-alive",
- "__X_HTTP_PAYLOAD_MD5": "e99d9829d50bd94b3497b91011f6e349",
- "__X_HTTP_RESULT_INDEX": "25"
+ "__X_HTTP_PAYLOAD_MD5": "e99d9829d50bd94b3497b91011f6e349"
},
{
"__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 15,
"method": "GET",
"uri": "/_vti_pvt/bots.cnf",
"req_version": "1.1",
@@ -358,11 +358,11 @@
"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_RESULT_INDEX": "26"
+ "__X_HTTP_URL": "116.181.2.152/_vti_pvt/bots.cnf"
},
{
"__X_HTTP_TRANSACTION": "response",
+ "__X_HTTP_TRANSACTION_SEQ": 10,
"res_version": "1.1",
"res_status": "Not Found",
"major_version": 1,
@@ -373,7 +373,6 @@
"Content-Type": "text/html",
"Content-Length": "146",
"Connection": "keep-alive",
- "__X_HTTP_PAYLOAD_MD5": "99a813d29c5da4e6f7269be4c1a31c8e",
- "__X_HTTP_RESULT_INDEX": "27"
+ "__X_HTTP_PAYLOAD_MD5": "99a813d29c5da4e6f7269be4c1a31c8e"
}
] \ 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 d12889c..9bf2f41 100644
--- a/test/test_result_json/http_tunnel_for_pop3.json
+++ b/test/test_result_json/http_tunnel_for_pop3.json
@@ -1,10 +1,10 @@
[
{
- "__X_HTTP_TUPLE4": "192.168.10.58.51798>192.168.10.144.808",
- "__X_HTTP_RESULT_INDEX": "0"
+ "__X_HTTP_TUPLE4": "192.168.10.58.51798>192.168.10.144.808"
},
{
"__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 0,
"method": "CONNECT",
"uri": "pop.163.com:110",
"req_version": "1.1",
@@ -17,18 +17,17 @@
"Proxy-Connection": "Keep-Alive",
"Connection": "Keep-Alive",
"Host": "192.168.10.144",
- "__X_HTTP_URL": "192.168.10.144pop.163.com:110",
- "__X_HTTP_RESULT_INDEX": "1"
+ "__X_HTTP_URL": "192.168.10.144/pop.163.com:110"
},
{
"__X_HTTP_TRANSACTION": "response",
+ "__X_HTTP_TRANSACTION_SEQ": 0,
"res_version": "1.1",
"res_status": "Connection established",
"major_version": 1,
"minor_version": 1,
"status_code": 200,
"Proxy-agent": "CCProxy",
- "__X_HTTP_PAYLOAD_MD5": "3d51846928a2dcf7a6c06e68b2b85105",
- "__X_HTTP_RESULT_INDEX": "2"
+ "__X_HTTP_PAYLOAD_MD5": "8a9716c4f06c88bb9482f50c25b39032"
}
] \ No newline at end of file
diff --git a/test/test_result_json/http_upgrade_http2.json b/test/test_result_json/http_upgrade_http2.json
index 3d455a5..5d05db4 100644
--- a/test/test_result_json/http_upgrade_http2.json
+++ b/test/test_result_json/http_upgrade_http2.json
@@ -1,10 +1,10 @@
[
{
- "__X_HTTP_TUPLE4": "10.9.0.2.58038>139.162.123.134.80",
- "__X_HTTP_RESULT_INDEX": "0"
+ "__X_HTTP_TUPLE4": "10.9.0.2.58038>139.162.123.134.80"
},
{
"__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 0,
"method": "GET",
"uri": "/robots.txt",
"req_version": "1.1",
@@ -16,27 +16,26 @@
"Connection": "Upgrade, HTTP2-Settings",
"Upgrade": "h2c",
"HTTP2-Settings": "AAMAAABkAARAAAAAAAIAAAAA",
- "__X_HTTP_URL": "nghttp2.org/robots.txt",
- "__X_HTTP_RESULT_INDEX": "1"
+ "__X_HTTP_URL": "nghttp2.org/robots.txt"
},
{
"__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 1,
"method": "PRI",
"uri": "*",
"req_version": "2.0",
"major_version": 2,
- "minor_version": 0,
- "__X_HTTP_RESULT_INDEX": "2"
+ "minor_version": 0
},
{
"__X_HTTP_TRANSACTION": "response",
+ "__X_HTTP_TRANSACTION_SEQ": 0,
"res_version": "1.1",
"res_status": "Switching Protocols",
"major_version": 1,
"minor_version": 1,
"status_code": 101,
"Connection": "Upgrade",
- "Upgrade": "h2c",
- "__X_HTTP_RESULT_INDEX": "3"
+ "Upgrade": "h2c"
}
] \ No newline at end of file
diff --git a/test/test_result_json/http_upgrade_websocket.json b/test/test_result_json/http_upgrade_websocket.json
index 33e7336..650a0ca 100644
--- a/test/test_result_json/http_upgrade_websocket.json
+++ b/test/test_result_json/http_upgrade_websocket.json
@@ -1,10 +1,10 @@
[
{
- "__X_HTTP_TUPLE4": "131.179.196.220.59631>131.179.196.46.9696",
- "__X_HTTP_RESULT_INDEX": "0"
+ "__X_HTTP_TUPLE4": "131.179.196.220.59631>131.179.196.46.9696"
},
{
"__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 0,
"method": "GET",
"uri": "/",
"req_version": "1.1",
@@ -23,11 +23,11 @@
"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_RESULT_INDEX": "1"
+ "__X_HTTP_URL": "spurs.cs.ucla.edu:9696/"
},
{
"__X_HTTP_TRANSACTION": "response",
+ "__X_HTTP_TRANSACTION_SEQ": 0,
"res_version": "1.1",
"res_status": "Switching Protocols",
"major_version": 1,
@@ -36,7 +36,6 @@
"Connection": "upgrade",
"Sec-WebSocket-Accept": "FRh9fmH0UaoLdY5BSFO4hP2Pcjw=",
"Server": "WebSocket++/0.5.1",
- "Upgrade": "websocket",
- "__X_HTTP_RESULT_INDEX": "2"
+ "Upgrade": "websocket"
}
] \ 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 1af82cf..019a9a2 100644
--- a/test/test_result_json/http_url_test_with_host.json
+++ b/test/test_result_json/http_url_test_with_host.json
@@ -1,10 +1,10 @@
[
{
- "__X_HTTP_TUPLE4": "192.168.244.1.52412>192.168.244.128.8080",
- "__X_HTTP_RESULT_INDEX": "0"
+ "__X_HTTP_TUPLE4": "192.168.244.1.52412>192.168.244.128.8080"
},
{
"__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 0,
"method": "GET",
"uri": "/urltest/ttt",
"req_version": "1.1",
@@ -17,11 +17,11 @@
"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,en;q=0.8",
- "__X_HTTP_URL": "192.168.244.128:8080/urltest/ttt",
- "__X_HTTP_RESULT_INDEX": "1"
+ "__X_HTTP_URL": "192.168.244.128:8080/urltest/ttt"
},
{
"__X_HTTP_TRANSACTION": "response",
+ "__X_HTTP_TRANSACTION_SEQ": 0,
"res_version": "1.0",
"res_status": "OK",
"major_version": 1,
@@ -30,7 +30,6 @@
"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"
+ "__X_HTTP_PAYLOAD_MD5": "49dfdd54b01cbcd2d2ab5e9e5ee6b9b9"
}
] \ 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 cb448f9..c9ad313 100644
--- a/test/test_result_json/http_url_test_without_host.json
+++ b/test/test_result_json/http_url_test_without_host.json
@@ -1,21 +1,21 @@
[
{
- "__X_HTTP_TUPLE4": "192.168.244.128.44868>192.168.244.128.8080",
- "__X_HTTP_RESULT_INDEX": "0"
+ "__X_HTTP_TUPLE4": "192.168.244.128.44868>192.168.244.128.8080"
},
{
"__X_HTTP_TRANSACTION": "request",
+ "__X_HTTP_TRANSACTION_SEQ": 0,
"method": "GET",
"uri": "/urltest/ttt",
"req_version": "1.1",
"major_version": 1,
"minor_version": 1,
"User-Agent": "no h",
- "__X_HTTP_URL": "192.168.244.128:8080/urltest/ttt",
- "__X_HTTP_RESULT_INDEX": "1"
+ "__X_HTTP_URL": "192.168.244.128:8080/urltest/ttt"
},
{
"__X_HTTP_TRANSACTION": "response",
+ "__X_HTTP_TRANSACTION_SEQ": 0,
"res_version": "1.0",
"res_status": "OK",
"major_version": 1,
@@ -24,7 +24,6 @@
"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"
+ "__X_HTTP_PAYLOAD_MD5": "49dfdd54b01cbcd2d2ab5e9e5ee6b9b9"
}
] \ No newline at end of file