summaryrefslogtreecommitdiff
path: root/jsonrpclib/history.py
diff options
context:
space:
mode:
Diffstat (limited to 'jsonrpclib/history.py')
-rw-r--r--jsonrpclib/history.py36
1 files changed, 36 insertions, 0 deletions
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()