@@ -55,10 +55,10 @@ def generate_http_connect_timing(self):
5555
5656 # TCP Callbacks
5757
58- def tcp_resolving_server_address_finished (self , server_conn ):
59- if not hasattr ( server_conn , 'currentHarEntry' ) :
58+ def tcp_resolving_server_address_finished (self , flow ):
59+ if 'har_entry' not in flow . metadata :
6060 return
61- self .populate_dns_timings (server_conn )
61+ self .populate_dns_timings (flow )
6262 self .dns_resolution_finished_nanos = self .now_time_nanos ()
6363
6464 if self .dns_resolution_started_nanos > 0 :
@@ -67,7 +67,7 @@ def tcp_resolving_server_address_finished(self, server_conn):
6767 else :
6868 self .get_http_connect_timing ()['dnsTimeNanos' ] = 0
6969
70- def tcp_resolving_server_address_started (self , server_conn ):
70+ def tcp_resolving_server_address_started (self , flow ):
7171 self .dns_resolution_started_nanos = int (round (self .now_time_nanos ()))
7272 self .connection_started_nanos = int (round (self .now_time_nanos ()))
7373 self .proxy_to_server_resolution_started ()
@@ -89,10 +89,10 @@ def http_proxy_to_server_request_started(self, flow):
8989 def http_proxy_to_server_request_finished (self , flow ):
9090 self .send_finished_nanos = self .now_time_nanos ()
9191 if self .send_started_nanos > 0 :
92- self .get_har_entry (flow . server_conn )['timings' ][
92+ self .get_har_entry (flow )['timings' ][
9393 'send' ] = self .send_finished_nanos - self .send_started_nanos
9494 else :
95- self .get_har_entry (flow . server_conn )['timings' ]['send' ] = 0
95+ self .get_har_entry (flow )['timings' ]['send' ] = 0
9696
9797 def http_server_to_proxy_response_receiving (self , flow ):
9898 self .response_receive_started_nanos = self .now_time_nanos ()
@@ -136,23 +136,23 @@ def error(self, flow):
136136
137137 # Populate data
138138
139- def populate_dns_timings (self , server_conn ):
140- har_entry = self .get_har_entry (server_conn )
139+ def populate_dns_timings (self , flow ):
140+ har_entry = self .get_har_entry (flow )
141141 if self .dns_resolution_started_nanos > 0 and har_entry :
142142 time_now = self .now_time_nanos ()
143143 dns_nanos = time_now - self .dns_resolution_started_nanos
144144 har_entry ['timings' ]['dnsNanos' ] = dns_nanos
145145
146146 def populate_timings_for_failed_connect (self , flow ):
147- har_entry = self .get_har_entry (flow . server_conn )
147+ har_entry = self .get_har_entry (flow )
148148 if self .connection_started_nanos > 0 :
149149 connect_nanos = self .now_time_nanos () - self .connection_started_nanos
150150 har_entry ['timings' ]['connectNanos' ] = connect_nanos
151- self .populate_dns_timings (flow . server_conn )
151+ self .populate_dns_timings (flow )
152152
153153 def populate_server_ip_address (self , flow , original_error ):
154154 if flow .server_conn is not None and flow .server_conn .ip_address is not None :
155- self .get_har_entry (flow . server_conn )['serverIPAddress' ] = str (
155+ self .get_har_entry (flow )['serverIPAddress' ] = str (
156156 flow .server_conn .ip_address [0 ])
157157
158158 def get_resource (self ):
@@ -161,18 +161,18 @@ def get_resource(self):
161161 def proxy_to_server_resolution_failed (self , flow , req_host_port , original_error ):
162162 msg = RESOLUTION_FAILED_ERROR_MESSAGE + req_host_port
163163 self .create_har_entry_for_failed_connect (flow , msg )
164- self .populate_dns_timings (flow . server_conn )
164+ self .populate_dns_timings (flow )
165165 self .populate_server_ip_address (flow , original_error )
166166
167- self .get_har_entry (flow . server_conn )['time' ] = self .calculate_total_elapsed_time (flow )
167+ self .get_har_entry (flow )['time' ] = self .calculate_total_elapsed_time (flow )
168168
169169 def proxy_to_server_connection_failed (self , flow , original_error ):
170170 msg = CONNECTION_FAILED_ERROR_MESSAGE
171171 self .create_har_entry_for_failed_connect (flow , msg )
172172 self .populate_timings_for_failed_connect (flow )
173173 self .populate_server_ip_address (flow , original_error )
174174
175- self .get_har_entry (flow . server_conn )['time' ] = self .calculate_total_elapsed_time (flow )
175+ self .get_har_entry (flow )['time' ] = self .calculate_total_elapsed_time (flow )
176176
177177 def server_to_proxy_response_timed_out (self , flow , req_host_port , original_error ):
178178 msg = RESPONSE_TIMED_OUT_ERROR_MESSAGE
@@ -182,7 +182,7 @@ def server_to_proxy_response_timed_out(self, flow, req_host_port, original_error
182182
183183 current_time_nanos = self .now_time_nanos ()
184184
185- har_entry = self .get_har_entry (flow . server_conn )
185+ har_entry = self .get_har_entry (flow )
186186
187187 if self .send_started_nanos > 0 and self .send_finished_nanos == 0 :
188188 har_entry ['timings' ]['sendNanos' ] = current_time_nanos - self .send_started_nanos
@@ -196,11 +196,11 @@ def server_to_proxy_response_timed_out(self, flow, req_host_port, original_error
196196 har_entry ['time' ] = self .calculate_total_elapsed_time (flow )
197197
198198 def create_har_entry_for_failed_connect (self , flow , msg ):
199- har_entry = self .get_har_entry (flow . server_conn )
199+ har_entry = self .get_har_entry (flow )
200200 har_entry ['response' ]['_errorMessage' ] = msg
201201
202202 def calculate_total_elapsed_time (self , flow ):
203- timings = self .get_har_entry (flow . server_conn )['timings' ]
203+ timings = self .get_har_entry (flow )['timings' ]
204204 result = (0 if timings .get ('blockedNanos' , - 1 ) == - 1 else timings ['blockedNanos' ]) + \
205205 (0 if timings .get ('dnsNanos' , - 1 ) == - 1 else timings ['dnsNanos' ]) + \
206206 (0 if timings .get ('connectNanos' , - 1 ) == - 1 else timings ['connectNanos' ]) + \
@@ -209,8 +209,8 @@ def calculate_total_elapsed_time(self, flow):
209209 (0 if timings .get ('receiveNanos' , - 1 ) == - 1 else timings ['receiveNanos' ])
210210 return self .nano_to_ms (result )
211211
212- def get_har_entry (self , server_conn ):
213- return server_conn . currentHarEntry
212+ def get_har_entry (self , flow ):
213+ return flow . metadata [ 'har_entry' ]
214214
215215 def get_http_connect_timing (self ):
216216 if self .http_connect_timing is None :
0 commit comments