getsentry / getsentry/sentry-java

Handle Apollo multipart failed-request inspection safely

Open
#5,987 2 comments 0 reactions 0 assignees View on GitHub
Bug Errors Java Platform: Java
Dominant language
Kotlin
Stars
1.4k
Forks
478
Avg merge
2d 23h
Merged PRs (30d)
67

Description

## Context

The Apollo 4 and Apollo 5 integrations inspect HTTP response bodies to detect GraphQL `errors`. Multipart and incremental responses need separate handling so inspection does not buffer, block, or consume streaming bodies.

## Scope

- Define safe failed-request inspection for multipart/incremental responses in `sentry-apollo-4` and `sentry-apollo-5`.
- Preserve spans and breadcrumbs when body inspection is skipped or unsupported.
- Decide between skipping failed-request body inspection for multipart responses and parsing multipart parts for GraphQL errors.
- Add tests covering streaming behavior and body preservation.

WebSocket subscription instrumentation remains out of scope.

Contributor guide

Open the contributing guide

Research direction

Start by reading the sentry-apollo-4 and sentry-apollo-5 integration code to trace failed-request body inspection for multipart and incremental responses. Add tests for streaming behavior and body preservation, including cases where inspection is skipped or unsupported. Done means multipart handling does not buffer, block, or consume the body, while spans and breadcrumbs remain preserved.

Written by the indexing model from the issue text.

Assessment

Tech stack
kotlin
Domain
api, testing
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.