@@ -24,7 +24,7 @@ const {
2424 requestDuplex
2525} = require ( './constants' )
2626const { kEnumerableProperty } = util
27- const { kHeaders, kSignal, kState, kGuard, kRealm } = require ( './symbols' )
27+ const { kHeaders, kSignal, kState, kGuard, kRealm, kDispatcher } = require ( './symbols' )
2828const { webidl } = require ( './webidl' )
2929const { getGlobalOrigin } = require ( './global' )
3030const { URLSerializer } = require ( './dataURL' )
@@ -78,6 +78,8 @@ class Request {
7878
7979 // 5. If input is a string, then:
8080 if ( typeof input === 'string' ) {
81+ this [ kDispatcher ] = init . dispatcher
82+
8183 // 1. Let parsedURL be the result of parsing input with baseURL.
8284 // 2. If parsedURL is failure, then throw a TypeError.
8385 let parsedURL
@@ -101,6 +103,8 @@ class Request {
101103 // 5. Set fallbackMode to "cors".
102104 fallbackMode = 'cors'
103105 } else {
106+ this [ kDispatcher ] = input [ kDispatcher ]
107+
104108 // 6. Otherwise:
105109
106110 // 7. Assert: input is a Request object.
@@ -979,6 +983,10 @@ webidl.converters.RequestInit = webidl.dictionaryConverter([
979983 key : 'duplex' ,
980984 converter : webidl . converters . DOMString ,
981985 allowedValues : requestDuplex
986+ } ,
987+ {
988+ key : 'dispatcher' , // undici specific option
989+ converter : webidl . converters . any
982990 }
983991] )
984992
0 commit comments