@@ -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