@@ -29,9 +29,15 @@ def create(self):
29
29
class HTTPCollector :
30
30
def __init__ (self ):
31
31
self .messages = BigArray ()
32
+ self .extendedArguments = {}
33
+
34
+ def setExtendedArguments (self , arguments ):
35
+ self .extendedArguments = arguments
32
36
33
37
def collectRequest (self , requestMessage , responseMessage , startTime = None , endTime = None ):
34
- self .messages .append (RawPair (requestMessage , responseMessage , startTime , endTime ))
38
+ self .messages .append (RawPair (requestMessage , responseMessage ,
39
+ startTime = startTime , endTime = endTime ,
40
+ extendedArguments = self .extendedArguments ))
35
41
36
42
def obtain (self ):
37
43
return {"log" : {
@@ -41,31 +47,37 @@ def obtain(self):
41
47
}}
42
48
43
49
class RawPair :
44
- def __init__ (self , request , response , startTime = None , endTime = None ):
50
+ def __init__ (self , request , response , startTime = None , endTime = None , extendedArguments = None ):
45
51
self .request = request
46
52
self .response = response
47
53
self .startTime = startTime
48
54
self .endTime = endTime
55
+ self .extendedArguments = extendedArguments or {}
49
56
50
57
def toEntry (self ):
51
- return Entry (request = Request .parse (self .request ), response = Response .parse (self .response ), startTime = self .startTime , endTime = self .endTime )
58
+ return Entry (request = Request .parse (self .request ), response = Response .parse (self .response ),
59
+ startTime = self .startTime , endTime = self .endTime ,
60
+ extendedArguments = self .extendedArguments )
52
61
53
62
class Entry :
54
- def __init__ (self , request , response , startTime , endTime ):
63
+ def __init__ (self , request , response , startTime , endTime , extendedArguments ):
55
64
self .request = request
56
65
self .response = response
57
66
self .startTime = startTime or 0
58
67
self .endTime = endTime or 0
68
+ self .extendedArguments = extendedArguments
59
69
60
70
def toDict (self ):
61
- return {
71
+ out = {
62
72
"request" : self .request .toDict (),
63
73
"response" : self .response .toDict (),
64
74
"cache" : {},
65
75
"timings" : [],
66
76
"time" : int (1000 * (self .endTime - self .startTime )),
67
77
"startedDateTime" : "%s%s" % (datetime .datetime .fromtimestamp (self .startTime ).isoformat (), time .strftime ("%z" )) if self .startTime else None
68
78
}
79
+ out .update (self .extendedArguments )
80
+ return out
69
81
70
82
class Request :
71
83
def __init__ (self , method , path , httpVersion , headers , postBody = None , raw = None , comment = None ):
0 commit comments