def return_request_pair(self, request): self.end_time = datetime.datetime.now() log_request(console.printable_data(request.response.full_response), id=self.connection_id, symbol='<m', verbosity_level=3) request.time_start = self.start_time request.time_end = self.end_time if context.in_scope(request): if self.save_all: yield request.async_deep_save() # if we don't copy it, when we delete a macro from the console, # we get a crash. We do a shallow copy to keep the macro # instances the same. to_mangle = copy.copy(self.intercepting_macros).iteritems() old_rsp = request.response for k, macro in to_mangle: if macro.do_rsp: if macro.async_rsp: mangled_rsp = yield macro.async_mangle_response( request) else: mangled_rsp = macro.mangle_response(request) if mangled_rsp is None: request.response = None self.data_defer.callback(request) if self.save_all: yield request.async_deep_save() self.transport.loseConnection() defer.returnValue(None) request.response = mangled_rsp if request.response != old_rsp: request.response.unmangled = old_rsp if self.save_all: yield request.async_deep_save() # re-check after all the mangling context.filter_recheck() if request.response: log_request(console.printable_data( request.response.full_response), id=self.connection_id, symbol='<', verbosity_level=3) else: self.log("Response out of scope, passing along unmangled") self.data_defer.callback(request) defer.returnValue(None)
def return_response(self, response): self.end_time = datetime.datetime.now() log_request(console.printable_data(response.full_response), id=self.connection_id, symbol='<m', verbosity_level=3) mangled_reqrsp_pair = yield mangle.mangle_response(response, self.connection_id) if mangled_reqrsp_pair: log_request(console.printable_data(mangled_reqrsp_pair.response.full_response), id=self.connection_id, symbol='<', verbosity_level=3) mangled_reqrsp_pair.time_start = self.start_time mangled_reqrsp_pair.time_end = self.end_time if context.in_scope(mangled_reqrsp_pair): yield mangled_reqrsp_pair.deep_save() self.data_defer.callback(mangled_reqrsp_pair)
def return_request_pair(self, request): self.end_time = datetime.datetime.now() log_request(console.printable_data(request.response.full_response), id=self.connection_id, symbol='<m', verbosity_level=3) request.time_start = self.start_time request.time_end = self.end_time if context.in_scope(request): if self.save_all: yield request.async_deep_save() # if we don't copy it, when we delete a macro from the console, # we get a crash. We do a shallow copy to keep the macro # instances the same. to_mangle = copy.copy(self.intercepting_macros).iteritems() old_rsp = request.response for k, macro in to_mangle: if macro.do_rsp: if macro.async_rsp: mangled_rsp = yield macro.async_mangle_response(request) else: mangled_rsp = macro.mangle_response(request) if mangled_rsp is None: request.response = None self.data_defer.callback(request) if self.save_all: yield request.async_deep_save() self.transport.loseConnection() defer.returnValue(None) request.response = mangled_rsp if request.response != old_rsp: request.response.unmangled = old_rsp if self.save_all: yield request.async_deep_save() # re-check after all the mangling context.filter_recheck() if request.response: log_request(console.printable_data(request.response.full_response), id=self.connection_id, symbol='<', verbosity_level=3) else: self.log("Response out of scope, passing along unmangled") self.data_defer.callback(request) defer.returnValue(None)
def rawDataReceived(self, *args, **kwargs): data = args[0] if not self._response_obj.complete: if data: s = console.printable_data(data) dlines = s.split('\n') for l in dlines: self.log(l, symbol='<rd', verbosity_level=3) self._response_obj.add_data(data) if self._response_obj.complete: self.handle_response_end()
def rawDataReceived(self, *args, **kwargs): data = args[0] if not self._response_obj.complete: if data: s = console.printable_data(data) dlines = s.split('\n') for l in dlines: self.log(l, symbol='<rd', verbosity_level=3) self._response_obj.add_data(data) if self._response_obj.complete: self.handle_response_end()