Request: duplex property
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The duplex
read-only property of the Request
interface returns the duplex mode of the request, which determines whether the browser must send the entire request before processing the response.
Value
A string with the following possible value:
"half"
: The browser must send the entire request before processing the response. This is required when the request body is aReadableStream
.
If not specified when creating the request, the value will be undefined
.
Examples
Checking a request's duplex mode
js
const stream = new ReadableStream({
/* ... */
});
const request = new Request("/upload", {
method: "POST",
body: stream,
duplex: "half", // Required for streaming requests
});
console.log(request.duplex); // "half"
Handling missing duplex with ReadableStream
js
try {
// This will throw if duplex is missing with ReadableStream
const invalidRequest = new Request("/upload", {
method: "POST",
body: new ReadableStream(),
});
} catch (err) {
console.error(err); // TypeError: Failed to construct 'Request'
}
Specifications
Specification |
---|
Fetch # dom-request-duplex |
See also
- Fetch API
Request()
constructorRequestInit.duplex
in request options- Using ReadableStreams with fetch