React Router / Remix
Loader’ы и action’ы React Router 7 выполняются на сервере, поэтому их вызовы fetch проходят через прокси без контекста браузера — та же ситуация, что и с SSR Next.js. Прокси нужен заголовок x-test-rcrd-id на этих серверных запросах, чтобы отнести их к правильной сессии записи.
Ручной паттерн (работает сегодня)
Заголовок раздела «Ручной паттерн (работает сегодня)»Каждый loader/action получает входящий request. Прочитайте из него заголовок с id записи и пробросьте его в любом серверном fetch:
import { RECORDING_ID_HEADER } from 'test-proxy-recorder';import type { LoaderFunctionArgs } from 'react-router';
export async function loader({ request }: LoaderFunctionArgs) { const headers: Record<string, string> = {}; const id = request.headers.get(RECORDING_ID_HEADER); // 'x-test-rcrd-id' if (id) headers[RECORDING_ID_HEADER] = id;
// Point the API base at the proxy in dev/test only. const res = await fetch('http://localhost:8100/api/data', { headers }); return res.json();}Направьте базовый URL вашего бэкенда на прокси (http://localhost:8100) только в dev/test, ровно как в ручной настройке. Запросы на стороне браузера по-прежнему обрабатываются механизмом HAR из playwrightProxy.before().
Когда адаптер выйдет, это сведётся к одному импорту хелпера — следите за прогрессом в дорожной карте.