Breakpoints

A breakpoint stops a request as it passes through the proxy. A paused request can be edited and then sent on, or dropped; a paused response can be rewritten before the client ever sees it.

Breakpoint rules and the queue of currently paused requests each have their own window, both reachable from the Tools menu (Cmd/Ctrl + Shift + B opens the queue). A rule can also be created from a captured request, which pre-fills it.

Rules

A rule decides what pauses. It is matched against the full URL with a wildcard or a regular expression — the same syntax as Map Local — and can be limited to specific methods, CONNECT included. Pausing can happen on the request, on the response, or on both:

  • on the request — before anything is sent to the server, so the outgoing request can be changed;
  • on the response — after the server answered, before the client receives it.

A rule takes effect on new traffic as soon as it is saved, and can be switched off without being deleted.

The queue

Each paused request waits until you decide what happens to it, and shows how long it has been waiting.

While it waits you can change the method, the headers, and the body of a request, or the status code, the headers, and the body of a response. Then it is either forwarded — with your edits — or dropped. The whole queue can be forwarded or dropped at once.

Up to 50 requests can be paused at the same time. Beyond that, new matching requests pass through without pausing.

When the client gives up

A paused client can disconnect while it waits — a timeout, a reload, a closed tab. The request stays in the queue, marked as disconnected, so the captured data can still be inspected. It can also be sent to the server anyway: the response is then attached to the request and shown in the inspector. Turn on auto-forwarding under Settings → Proxy to have that happen without asking.

Disconnected entries can be cleared out of the queue.

Behaviour

  • A Map Local rule is resolved before breakpoints, so a URL covered by both is mocked and never pauses.
  • Hosts on the bypass list are never paused — they are tunnelled through without being read.
  • A paused request holds a real client connection open, so a long pause can hit the client's own timeout.
  • Quitting the app with requests still paused asks for confirmation first and forwards them, so no client is left hanging.

Breakpoint rules are kept in the same encrypted local database as Map Local rules.