diff options
author | Aleksey Lim <alsroot@sugarlabs.org> | 2012-09-25 12:16:16 (GMT) |
---|---|---|
committer | Aleksey Lim <alsroot@sugarlabs.org> | 2012-09-25 12:16:16 (GMT) |
commit | a21b989abed211701b5e1340f830d2fc56828456 (patch) | |
tree | 3d322a801d521b99e5ef77e4d2e138a452accbce | |
parent | 5ea69e14afe5d43dbd1433c61dcbe2ffa36357c2 (diff) |
Make copying request more flexisble while sub-calling
-rw-r--r-- | active_document/commands.py | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/active_document/commands.py b/active_document/commands.py index cec88d4..5b0a4d9 100644 --- a/active_document/commands.py +++ b/active_document/commands.py @@ -124,15 +124,20 @@ class Request(dict): self._pos += len(result) return result + def copy(self): + request = type(self)() + request.access_level = self.access_level + request.accept_language = self.accept_language + request.commands = self.commands + return request + def call(self, method, content=None, content_stream=None, content_length=None, **kwargs): enforce(self.commands is not None) - kwargs['method'] = method - request = type(self)(kwargs) - request.access_level = self.access_level - request.accept_language = self.accept_language - request.commands = self.commands + request = self.copy() + request.update(kwargs) + request['method'] = method request.content = content request.content_stream = content_stream request.content_length = content_length |