@@ -216,9 +216,11 @@ describe('typeis.hasBody(req)', function () {
216216      assert . strictEqual ( typeis . hasBody ( req ) ,  true ) 
217217    } ) 
218218
219-     it ( 'should be true when 0' ,  function  ( )  { 
220-       var  req  =  { headers : { 'content-length' : '0' } } 
221-       assert . strictEqual ( typeis . hasBody ( req ) ,  true ) 
219+     it ( 'should be true when 0' ,  function  ( done )  { 
220+       createZeroLengthBodyRequest ( '' ,  function  ( req )  { 
221+         assert . strictEqual ( typeis . hasBody ( req ) ,  true ) 
222+         done ( ) 
223+       } ) 
222224    } ) 
223225
224226    it ( 'should be false when bogus' ,  function  ( )  { 
@@ -333,9 +335,15 @@ function createRequest (type, callback) {
333335      var  s  =  new  Readable ( ) 
334336      s . push ( 'hello' ) 
335337      s . push ( null ) 
336-       var  req  =  request . post ( 'localhost:'  +  server . address ( ) . port  +  '/' ) 
337-         . set ( 'content-type' ,  type  ||  undefined ) 
338-       s . pipe ( req ) 
338+ 
339+       var  session  =  http2 . connect ( 'http://localhost:'  +  server . address ( ) . port ) 
340+       var  headers  =  { 
341+         [ http2 . constants . HTTP2_HEADER_PATH ] : '/' , 
342+         [ http2 . constants . HTTP2_HEADER_METHOD ] : 'post' , 
343+         'content-type' : type  ||  undefined 
344+       } 
345+       var  request  =  session . request ( headers ) 
346+       s . pipe ( request ) 
339347    } ) 
340348  }  else  { 
341349    var  req  =  { 
@@ -356,9 +364,16 @@ function createBodylessRequest (type, callback) {
356364    } ) 
357365
358366    server  =  server . listen ( function  ( )  { 
359-       request . get ( 'localhost:'  +  server . address ( ) . port  +  '/' ) 
360-         . set ( 'content-type' ,  type  ||  undefined ) 
361-         . end ( ) 
367+       var  session  =  http2 . connect ( 'http://localhost:'  +  server . address ( ) . port ) 
368+       var  headers  =  { 
369+         [ http2 . constants . HTTP2_HEADER_PATH ] : '/' , 
370+         [ http2 . constants . HTTP2_HEADER_METHOD ] : 'get' , 
371+         'content-type' : type  ||  '' 
372+       } 
373+       var  option  =  { 
374+         endStream : true 
375+       } 
376+       session . request ( headers ,  option ) 
362377    } ) 
363378  }  else  { 
364379    var  req  =  { 
@@ -369,3 +384,31 @@ function createBodylessRequest (type, callback) {
369384    callback ( req ) 
370385  } 
371386} 
387+ 
388+ function  createZeroLengthBodyRequest  ( type ,  callback )  { 
389+   if  ( process . env . HTTP2_TEST )  { 
390+     var  server  =  http2 . createServer ( function  ( req ,  res )  { 
391+       callback ( req ) 
392+       server . close ( ) 
393+     } ) 
394+ 
395+     server  =  server . listen ( function  ( )  { 
396+       var  session  =  http2 . connect ( 'http://localhost:'  +  server . address ( ) . port ) 
397+       var  headers  =  { 
398+         [ http2 . constants . HTTP2_HEADER_PATH ] : '/' , 
399+         [ http2 . constants . HTTP2_HEADER_METHOD ] : 'get' , 
400+         'content-type' : type  ||  '' 
401+       } 
402+       var  request  =  session . request ( headers ) 
403+       request . end ( ) 
404+     } ) 
405+   }  else  { 
406+     var  req  =  { 
407+       headers : { 
408+         'content-type' : type  ||  '' , 
409+         'content-length' : 0 
410+       } 
411+     } 
412+     callback ( req ) 
413+   } 
414+ } 
0 commit comments