diff options
author | Maximilian Hils <git@maximilianhils.com> | 2016-08-09 20:26:24 -0700 |
---|---|---|
committer | Maximilian Hils <git@maximilianhils.com> | 2016-08-09 20:26:24 -0700 |
commit | 818840f553666c9993c7fa6fec3871d80764a282 (patch) | |
tree | 6e74b7713b044b3e0c18111ae0e5463a70ebe937 /mitmproxy/script | |
parent | f719644aa1a9bed22099c70696617d66123e72df (diff) | |
download | mitmproxy-818840f553666c9993c7fa6fec3871d80764a282.tar.gz mitmproxy-818840f553666c9993c7fa6fec3871d80764a282.tar.bz2 mitmproxy-818840f553666c9993c7fa6fec3871d80764a282.zip |
finalize Reply semantics, fix tests
Diffstat (limited to 'mitmproxy/script')
-rw-r--r-- | mitmproxy/script/concurrent.py | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/mitmproxy/script/concurrent.py b/mitmproxy/script/concurrent.py index 0cc0514e..9ed08065 100644 --- a/mitmproxy/script/concurrent.py +++ b/mitmproxy/script/concurrent.py @@ -13,7 +13,7 @@ class ScriptThread(basethread.BaseThread): def concurrent(fn): - if fn.__name__ not in controller.Events - set(["start", "configure", "tick"]): + if fn.__name__ not in controller.Events - {"start", "configure", "tick"}: raise NotImplementedError( "Concurrent decorator not supported for '%s' method." % fn.__name__ ) @@ -21,8 +21,10 @@ def concurrent(fn): def _concurrent(obj): def run(): fn(obj) - if not obj.reply.acked: - obj.reply.ack() + if obj.reply.state == "taken": + if not obj.reply.has_message: + obj.reply.ack() + obj.reply.commit() obj.reply.take() ScriptThread( "script.concurrent (%s)" % fn.__name__, |