aboutsummaryrefslogtreecommitdiffstats
path: root/mitmproxy/io/proto/http.proto
blob: 30c11a0a724fe72edf1c3f7e9fad113f44768417 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
syntax='proto2';

message HTTPFlow {
    optional HTTPRequest request = 1;
    optional HTTPResponse response = 2;
    optional HTTPError error = 3;
    optional ClientConnection client_conn = 4;
    optional ServerConnection server_conn = 5;
    optional bool intercepted = 6;
    optional bool marked = 7;
    optional string mode = 8;
    optional string id = 9;
    optional int32 version = 10;
}

message HTTPRequest {
    optional string first_line_format = 1;
    optional string method = 2;
    optional string scheme = 3;
    optional string host = 4;
    optional int32 port = 5;
    optional string path = 6;
    optional string http_version = 7;
    repeated HTTPHeader headers = 8;
    optional bytes content = 9;
    optional float timestamp_start = 10;
    optional float timestamp_end = 11;
    optional bool is_replay = 12;
}

message HTTPResponse {
    optional string http_version = 1;
    optional int32 status_code = 2;
    optional string reason = 3;
    repeated HTTPHeader headers = 4;
    optional bytes content = 5;
    optional float timestamp_start = 6;
    optional float timestamp_end = 7;
    optional bool is_replay = 8;
}

message HTTPError {
    optional string msg = 1;
    optional float timestamp = 2;
}

message HTTPHeader {
    optional string name = 1;
    optional string value = 2;
}


message Address {
    optional string host = 1;
    optional int32 port = 2;
}

message ClientConnection {
    optional string id = 1;
    optional Address address = 2;
    optional bool tls_established = 3;
    optional string clientcert = 4;
    optional string mitmcert = 5;
    optional float timestamp_start = 6;
    optional float timestamp_tls_setup = 7;
    optional float timestamp_end = 8;
    optional string sni = 9;
    optional string cipher_name = 10;
    optional bytes alpn_proto_negotiated = 11;
    optional string tls_version = 12;
    repeated TLSExtension tls_extensions = 13;
}

message ServerConnection {
    optional string id = 1;
    optional Address address = 2;
    optional Address ip_address = 3;
    optional Address source_address = 4;
    optional bool tls_established = 5;
    optional string cert = 6;
    optional string sni = 7;
    optional bytes alpn_proto_negotiated = 8;
    optional string tls_version = 9;
    optional float timestamp_start = 10;
    optional float timestamp_tcp_setup = 11;
    optional float timestamp_tls_setup = 12;
    optional float timestamp_end = 13;
    optional ServerConnection via = 14;
}

message TLSExtension {
    optional int64 int = 1;
    optional bytes bytes = 2;
}