X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/python-jsonrpclib.git/blobdiff_plain/ccb16ea1a5f000b5014f562467056e788ff7eed4..669c1369c82b5dec6fd7952dce27a41ac1690b11:/jsonrpclib/history.py diff --git a/jsonrpclib/history.py b/jsonrpclib/history.py new file mode 100644 index 0000000..ec53235 --- /dev/null +++ b/jsonrpclib/history.py @@ -0,0 +1,36 @@ + +class History(object): + """ + This holds all the response and request objects for a + session. A server using this should call "clear" after + each request cycle in order to keep it from clogging + memory. + """ + requests = [] + responses = [] + + def add_response(self, response_obj): + self.responses.append(response_obj) + + def add_request(self, request_obj): + self.requests.append(request_obj) + + @property + def request(self): + if len(self.requests) == 0: + return None + else: + return self.requests[-1] + + @property + def response(self): + if len(self.responses) == 0: + return None + else: + return self.responses[-1] + + def clear(self): + del self.requests[:] + del self.responses[:] + +history = History()