@@ -30,6 +30,8 @@ const {
3030  customInspectSymbol : kInspect , 
3131  kEmptyObject, 
3232  promisify, 
33+   deprecate, 
34+   deprecateProperty, 
3335}  =  require ( 'internal/util' ) ; 
3436
3537assertCrypto ( ) ; 
@@ -748,6 +750,11 @@ function onGoawayData(code, lastStreamID, buf) {
748750  } 
749751} 
750752
753+ // TODO(aduh95): remove this in future semver-major 
754+ const  deprecateWeight  =  deprecateProperty ( 'weight' , 
755+                                           'Priority signaling has been deprecated as of RFC 1993.' , 
756+                                           'DEP0194' ) ; 
757+ 
751758// When a ClientHttp2Session is first created, the socket may not yet be 
752759// connected. If request() is called during this time, the actual request 
753760// will be deferred until the socket is ready to go. 
@@ -776,12 +783,14 @@ function requestOnConnect(headersList, headersParam, options) {
776783  if  ( options . waitForTrailers ) 
777784    streamOptions  |=  STREAM_OPTION_GET_TRAILERS ; 
778785
786+   deprecateWeight ( options ) ; 
787+ 
779788  // `ret` will be either the reserved stream ID (if positive) 
780789  // or an error code (if negative) 
781790  const  ret  =  session [ kHandle ] . request ( headersList , 
782791                                       streamOptions , 
783792                                       options . parent  |  0 , 
784-                                        options . weight   |   0 , 
793+                                        NGHTTP2_DEFAULT_WEIGHT , 
785794                                       ! ! options . exclusive ) ; 
786795
787796  // In an error condition, one of three possible response codes will be 
@@ -826,11 +835,7 @@ function requestOnConnect(headersList, headersParam, options) {
826835// 
827836// Also sets the default priority options if they are not set. 
828837const  setAndValidatePriorityOptions  =  hideStackFrames ( ( options )  =>  { 
829-   if  ( options . weight  ===  undefined )  { 
830-     options . weight  =  NGHTTP2_DEFAULT_WEIGHT ; 
831-   }  else  { 
832-     validateNumber . withoutStackTrace ( options . weight ,  'options.weight' ) ; 
833-   } 
838+   deprecateWeight ( options ) ; 
834839
835840  if  ( options . parent  ===  undefined )  { 
836841    options . parent  =  0 ; 
@@ -886,25 +891,6 @@ function submitSettings(settings, callback) {
886891  } 
887892} 
888893
889- // Submits a PRIORITY frame to be sent to the remote peer 
890- // Note: If the silent option is true, the change will be made 
891- // locally with no PRIORITY frame sent. 
892- function  submitPriority ( options )  { 
893-   if  ( this . destroyed ) 
894-     return ; 
895-   this [ kUpdateTimer ] ( ) ; 
896- 
897-   // If the parent is the id, do nothing because a 
898-   // stream cannot be made to depend on itself. 
899-   if  ( options . parent  ===  this [ kID ] ) 
900-     return ; 
901- 
902-   this [ kHandle ] . priority ( options . parent  |  0 , 
903-                          options . weight  |  0 , 
904-                          ! ! options . exclusive , 
905-                          ! ! options . silent ) ; 
906- } 
907- 
908894// Submit a GOAWAY frame to be sent to the remote peer. 
909895// If the lastStreamID is set to <= 0, then the lastProcStreamID will 
910896// be used. The opaqueData must either be a typed array or undefined 
@@ -2314,25 +2300,6 @@ class Http2Stream extends Duplex {
23142300    } 
23152301  } 
23162302
2317-   priority ( options )  { 
2318-     if  ( this . destroyed ) 
2319-       throw  new  ERR_HTTP2_INVALID_STREAM ( ) ; 
2320- 
2321-     assertIsObject ( options ,  'options' ) ; 
2322-     options  =  {  ...options  } ; 
2323-     setAndValidatePriorityOptions ( options ) ; 
2324- 
2325-     const  priorityFn  =  submitPriority . bind ( this ,  options ) ; 
2326- 
2327-     // If the handle has not yet been assigned, queue up the priority 
2328-     // frame to be sent as soon as the ready event is emitted. 
2329-     if  ( this . pending )  { 
2330-       this . once ( 'ready' ,  priorityFn ) ; 
2331-       return ; 
2332-     } 
2333-     priorityFn ( ) ; 
2334-   } 
2335- 
23362303  sendTrailers ( headers )  { 
23372304    if  ( this . destroyed  ||  this . closed ) 
23382305      throw  new  ERR_HTTP2_INVALID_STREAM ( ) ; 
@@ -2505,6 +2472,12 @@ class Http2Stream extends Duplex {
25052472  } 
25062473} 
25072474
2475+ // TODO(aduh95): remove this in future semver-major 
2476+ Http2Stream . prototype . priority  =  deprecate ( function  priority ( options )  { 
2477+   if  ( this . destroyed ) 
2478+     throw  new  ERR_HTTP2_INVALID_STREAM ( ) ; 
2479+ } ,  'http2Stream.priority is longer supported after priority signalling was deprecated in RFC 1993' ,  'DEP0194' ) ; 
2480+ 
25082481function  callTimeout ( self ,  session )  { 
25092482  // If the session is destroyed, this should never actually be invoked, 
25102483  // but just in case... 
0 commit comments