Request: textStream() method
Note: This feature is available in Web Workers.
The textStream() method of the Request interface returns a ReadableStream that can be used to read the contents of the request body in chunks of UTF-8.
This provides an easier mechanism for streaming the request body than piping the Request.body byte stream through a TextDecoderStream.
Note:
If invoked on a Request with a null body, for example a GET request, textStream() will return a valid empty stream.
Syntax
js
textStream()
Parameters
None.
Return value
Exceptions
TypeError-
Thrown if the request body is disturbed or locked.
Examples
>Reading request body content as a text stream
This example shows how to read a request body as a text stream.
We create a sample Request, obtain a ReadableStream of its body using textStream(), then read the text via a reader created using ReadableStream.getReader().
js
const pElem = document.querySelector("p");
const req = new Request("https://example.com", {
method: "POST",
body: '{"hello": "world"}',
});
async function streamRequestText(request) {
const textStream = request.textStream();
// instead of
// const textStream = request.body.pipeThrough(new TextDecoderStream());
const reader = textStream.getReader();
while (true) {
const { value, done } = await reader.read();
if (done) break;
pElem.textContent += value;
}
}
streamRequestText(req);
Specifications
| Specification |
|---|
| Fetch> # dom-body-textstream> |