Part of #5420. Phase 2 — behavior-neutral consumer migration.
Migrate the GraphQL client instrumentation to GraphQL.Document / GraphQL.Variables:
src/Sentry/SentryGraphQLHttpFailedRequestHandler.cs:67-80 — request query body (sentryRequest.Data) and response body currently gated on SendDefaultPii; split gating: document vs variables per spec.
src/Sentry/GraphQLContentExtractor.cs, GraphQLRequestContent.cs — extraction points.
Note the JS default: graphQL remains true even in the legacy-false bridge, because documents were historically attached (with redaction) — verify what sentry-dotnet's historical behavior implies for the bridge here (today the .NET handler attaches the body only when SendDefaultPii is true, so the .NET bridge should map false → GraphQL off, unlike JS).
Part of #5420. Phase 2 — behavior-neutral consumer migration.
Migrate the GraphQL client instrumentation to
GraphQL.Document/GraphQL.Variables:src/Sentry/SentryGraphQLHttpFailedRequestHandler.cs:67-80— request query body (sentryRequest.Data) and response body currently gated onSendDefaultPii; split gating: document vs variables per spec.src/Sentry/GraphQLContentExtractor.cs,GraphQLRequestContent.cs— extraction points.Note the JS default:
graphQLremainstrueeven in the legacy-false bridge, because documents were historically attached (with redaction) — verify what sentry-dotnet's historical behavior implies for the bridge here (today the .NET handler attaches the body only whenSendDefaultPiiis true, so the .NET bridge should mapfalse→ GraphQL off, unlike JS).