Skip to content

Breakpoints

Breakpoints pause a request mid-flight so you can inspect and edit it before it continues. Probe stops the traffic at the proxy, opens an editor, and waits for you to Continue (with whatever edits you’ve made) or Cancel (which returns an error to the client).

Two phases can be paused independently:

  • Request phase — pause before the request reaches the upstream. You can edit the URL, request headers, and request body. When you continue, Probe sends your edited version upstream.
  • Response phase — pause after the upstream replies, before the client sees the bytes. You can edit the status code, response headers, and response body. When you continue, the client receives your edited version.

A single rule can pause on the request, the response, or both — and “both” means the same request stops twice (once outgoing, once incoming) so you can edit each side independently.

Each breakpoint rule has a URL pattern and two checkboxes — Intercept request and Intercept response. A request matches the rule when its URL matches the pattern.

Patterns are checked against the MITM-shaped URL — the URL you see in the log table — but Probe is forgiving here:

  • The scheme (https://, http://) is stripped before comparison, so writing patterns with or without a scheme both work.
  • The default port (:443 for HTTPS, :80 for HTTP) is also stripped, so api.example.com/v1/users matches whether the captured URL has :443 or not.
  • A * in the pattern is a wildcard that consumes any substring.
  • A pattern without / is treated as host-only (api.example.com) and matches any path on that host.
  • A pattern with / is matched against the URL with a trailing-allowed prefix (/v1/users also matches /v1/users?id=42).

URL patterns are tried first, host-only patterns are the fallback.

When a request hits a breakpoint, the Intercept Editor opens and the request hangs at the proxy until you act on it. In the editor you can:

  • Edit the URL (request phase only) to redirect the request to a different endpoint.
  • Add, remove, or change headers in a key/value table.
  • Edit the body — JSON, form-data, or raw text.
  • Change the status code (response phase only).
  • Click Continue to send your edits upstream (request phase) or to the client (response phase).
  • Click Cancel to abort: the client gets a 4xx error and the request is dropped.

Other captured requests continue to flow normally; only the matched ones pause.

Reproduce a server error path without touching the server.

  1. Open the Breakpoints manager from the toolbar.
  2. Add a rule:
    • URL: api.example.com/v1/orders
    • Intercept response: on
    • Intercept request: off
  3. Trigger the call from your client. Probe pauses it after the upstream replies.
  4. In the editor, change the status code from 200 to 500 and clear the response body.
  5. Click Continue. Your client receives a 500 with an empty body.

Use the same flow with Intercept request to redirect a request, swap an auth token, or strip a problematic header.

  • Test error handling — flip a 200 response to 500 or 404 and watch how the UI recovers.
  • Modify response shape — drop a field, send back an empty array, return a malformed payload.
  • Debug authentication — inspect the Authorization header on the way out, swap a token, and see what the server does with it.
  • Redirect on the fly — change the URL in a request breakpoint to point at staging without persisting a Map Remote rule.

If you find yourself doing the same edit every time, promote it from a breakpoint to a Map Local or Scripting rule so it runs automatically.

Breakpoints block traffic until you act on them. Don’t leave a busy URL paused while you walk away from the keyboard — every matching request will queue up behind the editor, and clients may time out.

Best practice:

  • Turn on the rules you need, do the debugging, then turn them off.
  • For rules you reach for daily, keep them disabled in the manager and toggle them on for the duration of a session.
  • Use a narrow URL pattern. api.example.com pauses every call to that host; api.example.com/v1/orders pauses one endpoint.

The breakpoint icon in the toolbar lights up when any rule is enabled — a quick reminder that traffic is being held.

  • Map Remote — make URL rewrites permanent instead of editing them each time.
  • Map Local — capture an edited response as a reusable rule.
  • Scripting — programmatic edits when a single rule isn’t enough.
  • Throttle — slow traffic down instead of stopping it.