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 a ReadableStream.

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