getsentry / getsentry/sentry-javascript

[Replay] Read response body stream instead of `body.text()`

Abierto
#9,635 1 comentario 1 reacción 0 asignados Ver en GitHub
Browser Improvement Replays
Lenguaje dominante
TypeScript
Estrellas
8.7k
Forks
1.8k
Merge medio
1 d 17 h
PR fusionados (30 d)
515

Descripción

Currently, we use `await body.text()` to get the response body of a fetch request for replay, both to get the body content as well as to calculate the length of the body.

This has the problem that if the body is a continuous stream, this will never (or very late) resolve. We kind-of solved this recently at least insofar as that we abort after 500ms, but since we still called `await body.text()` before we'll continue to read from the stream, even if we are discarding it.

We should look into reading the stream manually instead of using `body.text()`, which would unlock us being able to stop reading it after some time. But this means we need to take care of text conversion in there ourselves.

Related to https://github.com/getsentry/sentry-javascript/issues/9616

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.