| # mitmdump -q -p 8888 -s "force-version.py --version $1" |
| # Request URL is not changed, only the response context |
| from mitmproxy import http |
| import argparse |
| import re |
| |
| class Server: |
| def __init__(self, version): |
| self.version = version |
| |
| def request(self, flow: http.HTTPFlow) -> None: |
| if "gr-app." in flow.request.pretty_url: |
| flow.request.url = re.sub( |
| r"polygerrit_ui/([\d.]+)/elements", |
| "polygerrit_ui/" + self.version + "/elements", |
| flow.request.url) |
| |
| def start(): |
| parser = argparse.ArgumentParser() |
| parser.add_argument("--version", type=str, help="Rapid release version, e.g. 432.0") |
| args = parser.parse_args() |
| return Server(args.version) |