Files
sousa-gecko/testing/mozbase/docs/mozproxy.md
T
Sylvestre Ledru 8f033c8241 Bug 2038819 - Convert testing/**/docs RST to Markdown r=jdescottes,firefox-source-docs-reviewers,ahal
Convert testing/{awsy,condprofile,docs,geckodriver,marionette,
mozbase,mozharness,perfdocs,performance,raptor,talos,web-platform}
RST documentation files to MyST-flavored Markdown.

Skips testing/perfdocs/generated/* (auto-generated by mach perfdocs)
and testing/web-platform/tests/* (third-party test trees).

- Move treeherder-try frontmatter substitutions under the new myst
  topmatter key.
- Allow the pre-existing autodoc Unknown target warning for
  mozprofile.permissions to keep the build clean.
- Refresh allowed-warnings glob for manifest-sandbox download from
  .rst to .md.

Differential Revision: https://phabricator.services.mozilla.com/D304228
2026-07-04 10:18:34 +00:00

48 lines
1.6 KiB
Markdown

# {mod}`mozproxy` --- Provides an HTTP proxy
Mozproxy let you launch an HTTP proxy when we need to run tests against
third-part websites in a reliable and reproducible way.
Mozproxy provides an interface to a proxy software, and the currently
supported backend is **mitmproxy** for Desktop and Android.
Mozproxy is used by Raptor to run performance test without having to interact
with the real web site.
Mozproxy provide a function that returns a playback class. The usage pattern is
% rstcheck: ignore-languages=python
```python
from mozproxy import get_playback
config = {'playback_tool': 'mitmproxy'}
pb = get_playback(config)
pb.start()
try:
# do your test
finally:
pb.stop()
```
**config** is a dict with the following options:
- **playback_tool**: name of the backend. can be "mitmproxy", "mitmproxy-android"
- **playback_version**: playback tool version
- **playback_files**: playback recording path/manifest/URL
- **binary**: path of the browser binary
- **obj_path**: build dir
- **platform**: platform name (provided by mozinfo.os)
- **run_local**: if True, the test is running locally.
- **app**: tested app. Can be "firefox", "geckoview", "refbrow", "fenix" or "firefox"
- **host**: hostname for the policies.json file
- **local_profile_dir**: profile dir
Supported environment variables:
- **MOZPROXY_DIR**: directory used by mozproxy for all data files, set by mozproxy
- **MOZ_UPLOAD_DIR**: upload directory path
- **GECKO_HEAD_REPOSITORY**: used to find the certutils binary path from the CI
- **GECKO_HEAD_REV**: used to find the certutils binary path from the CI
- **HOSTUTILS_MANIFEST_PATH**: used to find the certutils binary path from the CI