DEV Community

98IP Proxy
98IP Proxy

Posted on

A Safe Workflow for Chrome 152 Request Resending in Proxy Debugging

Chrome 152 replaces Replay XHR with Resend and extends it to fetchable requests. The action converts a captured request to fetch() while aiming to preserve replay fidelity, and DevTools now exposes the execution context and console originator.

For proxy diagnostics, this enables a much smaller reproduction loop than rerunning an entire browser journey.

Capture the original observation

Before resending, record a redacted evidence object:

const evidence = {
  requestNumber,
  capturedAt,
  method,
  host,
  status,
  firstByteMs,
  totalMs,
  routeId,
  exitIp,
  addressFamily,
  sessionRunId,
  businessOutcome
};
Enter fullscreen mode Exit fullscreen mode

Never store passwords, cookies, bearer tokens, or personal data in the incident artifact.

Gate state-changing methods

function mayResend(method, authorized, isolatedEnvironment) {
  const safeByDefault = new Set(["GET", "HEAD", "OPTIONS"]);
  if (safeByDefault.has(method)) return authorized;
  return authorized && isolatedEnvironment;
}
Enter fullscreen mode Exit fullscreen mode

Even GET can trigger state changes on a poorly designed endpoint, so this is a policy checkpoint—not proof of safety. POST, PATCH, PUT, and DELETE may duplicate work, modify data, or create charges.

Run a one-variable comparison

  1. Resend once through the current proxy route.
  2. Repeat through a known-good route while holding allowed request state constant.
  3. Compare connect/TLS evidence, status, response body shape, and the business outcome.
  4. If still inconclusive, move to a bounded interleaved matrix instead of repeatedly clicking Resend.
function nextCheck({ currentRouteOk, baselineRouteOk, bodyOk }) {
  if (!currentRouteOk && baselineRouteOk) return "route_exit_dns_tls";
  if (!currentRouteOk && !baselineRouteOk) return "target_session_payload";
  if (currentRouteOk && !bodyOk) return "challenge_or_schema";
  return "bounded_retest";
}
Enter fullscreen mode Exit fullscreen mode

Remember that a resend happens later. Cookies, CSRF tokens, nonces, rate windows, application state, and proxy-session exits may have changed. It is one observation, not a causal verdict.

Chrome 152 also adds binary payload decoding, pinned request numbers, improved same-site host filtering, and default query/form parameter decoding. These are useful when an incident includes encoded bodies or many similar calls.

Source: Chrome for Developers, “What’s new in DevTools (Chrome 152),” August 25, 2026.

I work with 98IP. For an independent route in authorized comparisons: https://en.98ip.com/?k=dev

Disclosure: Use proxies and request resending only for lawful, authorized testing. Respect privacy duties, robots directives, rate limits, contracts, and target terms; never bypass access controls.

Top comments (0)