diff options
author | Maximilian Hils <git@maximilianhils.com> | 2016-09-24 22:12:02 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-09-24 22:12:02 -0700 |
commit | afe6bf0309c19891455cc81b3856bd68b1031649 (patch) | |
tree | 0c253635afc45528a932605847233e35a8908fb1 /pathod | |
parent | eeec17902fdcd7de766dc79ed6a2e3a73ad4ce3d (diff) | |
download | mitmproxy-afe6bf0309c19891455cc81b3856bd68b1031649.tar.gz mitmproxy-afe6bf0309c19891455cc81b3856bd68b1031649.tar.bz2 mitmproxy-afe6bf0309c19891455cc81b3856bd68b1031649.zip |
fix #1221 (#1578)
Diffstat (limited to 'pathod')
-rw-r--r-- | pathod/pathoc.py | 26 | ||||
-rw-r--r-- | pathod/pathoc_cmdline.py | 2 |
2 files changed, 19 insertions, 9 deletions
diff --git a/pathod/pathoc.py b/pathod/pathoc.py index c62993bb..e2627a61 100644 --- a/pathod/pathoc.py +++ b/pathod/pathoc.py @@ -478,21 +478,31 @@ class Pathoc(tcp.TCPClient): def main(args): # pragma: no cover - memo = set([]) - trycount = 0 + memo = set() p = None + + if args.repeat == 1: + requests = args.requests + else: + # If we are replaying more than once, we must convert the request generators to lists + # or they will be exhausted after the first run. + # This is bad for the edge-case where get:/:x10000000 (see 0da3e51) is combined with -n 2, + # but does not matter otherwise. + requests = [list(x) for x in args.requests] + try: - cnt = 0 + requests_done = 0 while True: - if cnt == args.repeat and args.repeat != 0: + if requests_done == args.repeat: break - if args.wait and cnt != 0: + if args.wait and requests_done > 0: time.sleep(args.wait) - cnt += 1 - playlist = itertools.chain(*args.requests) + requests_done += 1 if args.random: - playlist = random.choice(args.requests) + playlist = random.choice(requests) + else: + playlist = itertools.chain.from_iterable(requests) p = Pathoc( (args.host, args.port), ssl=args.ssl, diff --git a/pathod/pathoc_cmdline.py b/pathod/pathoc_cmdline.py index 50f584e2..4199e37a 100644 --- a/pathod/pathoc_cmdline.py +++ b/pathod/pathoc_cmdline.py @@ -50,7 +50,7 @@ def args_pathoc(argv, stdout=sys.stdout, stderr=sys.stderr): ) parser.add_argument( "-n", dest='repeat', default=1, type=int, metavar="N", - help='Repeat N times. If 0 repeat for ever.' + help='Repeat N times. Pass -1 to repeat infinitely.' ) parser.add_argument( "-w", dest='wait', default=0, type=float, metavar="N", |