Go beyond passive capture. ProxyHawk's advanced tools let you pause and edit live traffic, mock backends, block requests, and simulate poor network conditions — all without changing your app code.
Breakpoints pause a matching request or response before it completes, so you can inspect, edit, and decide whether to continue or abort.
What you can do with breakpoints:
Edit request headers or body before it reaches the server.
Edit a response before it reaches your app — test how your UI handles edge cases.
Reproduce timing-sensitive bugs by pausing at the right moment.
Test error handling by modifying a 200 OK to a 500 Server Error.
To add a breakpoint: right-click a row in the traffic list and choose Add Breakpoint, or go to Tools → Breakpoints and add a URL pattern manually.
Avoid broad patterns in shared environments: Breakpoints block matching traffic until you manually continue. Overly wide patterns (like *) can freeze many requests at once.
Block rules
Block rules drop or return an error for matching requests — no server call is made.
Useful for:
Testing how your app handles a failed API call or timeout.
Blocking third-party analytics or tracking in captured sessions.
Simulating a backend being completely down.
Isolating a specific endpoint to verify fallback behaviour.
Add block rules in Tools → Block Rules. Rules match by URL pattern and can be toggled on/off without deleting them.
Map Local
Map Local serves a file from your Mac instead of making the real network request. No server, no deploy.
Use Map Local when:
The backend isn't ready yet — serve a mock JSON response from a local file.
You want to test a specific API response (e.g. an empty state, an error payload) without waiting for the server to reproduce it.
You need stable, repeatable fixture data for UI development.
You want to prototype UI changes against a modified response before backend work begins.
To add a Map Local rule: go to Tools → Map Local, add a URL pattern, and point it to a local file (.json, .html, or any format). ProxyHawk serves that file's contents as the response body.
Map Remote
Map Remote redirects matching traffic to a different host or URL — without changing your app's configuration.
Use Map Remote when:
Pointing a production app at your staging server to test a fix before release.
Redirecting one API version to another (e.g. /v1/ → /v2/) to test compatibility.
Comparing responses between two environments side by side.
Add rules in Tools → Map Remote. Specify the source pattern and the destination URL.
Scripts
Scripts run custom code on matching requests or responses — useful for transformations that are too dynamic for static rules.
What scripts can do:
Add, modify, or remove headers on every request to a host.
Inject test data or modify response payloads dynamically.
Log specific values to the console during debugging.
Automate repetitive manual changes you'd otherwise do with breakpoints.
Scripts are trusted code. Only enable scripts you understand — they run with access to the full request/response. See Security & privacy for details.
Network throttling
Throttling artificially limits bandwidth and increases latency to simulate slow or unstable connections.
Use throttling to catch:
Loading state bugs — does your skeleton screen show correctly on slow connections?
Timeout handling — does your app retry or show the right error when a request takes too long?
Race conditions — do two slow concurrent requests resolve in the right order?
Image and asset loading — are large assets handled gracefully at 3G speeds?
Enable throttling in Tools → Network Throttling. Presets include 3G, slow Wi-Fi, and offline, or set custom bandwidth and latency values.
Recommended debugging workflow
Capture and filter — isolate the failing request in the traffic list using filters or pins.
Inspect — open the detail pane to check headers, body, and status code for the root cause.
Reproduce precisely — add a breakpoint to pause the exact request and confirm your hypothesis.
Mock the fix — use Map Local or Map Remote to serve the corrected response and verify the UI handles it correctly.
Block and test fallbacks — block the endpoint entirely to confirm your error states work.
Throttle and confirm — run the scenario under slow network to validate loading states and timeouts.
Export for regression — export the key requests to a Postman collection so the fix is verifiable by your team.