@@ -216,9 +216,11 @@ describe('typeis.hasBody(req)', function () {
216
216
assert . strictEqual ( typeis . hasBody ( req ) , true )
217
217
} )
218
218
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
+ } )
222
224
} )
223
225
224
226
it ( 'should be false when bogus' , function ( ) {
@@ -333,9 +335,15 @@ function createRequest (type, callback) {
333
335
var s = new Readable ( )
334
336
s . push ( 'hello' )
335
337
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
+ ':path' : '/' ,
342
+ ':method' : 'post' ,
343
+ 'content-type' : type || undefined
344
+ }
345
+ var request = session . request ( headers )
346
+ s . pipe ( request )
339
347
} )
340
348
} else {
341
349
var req = {
@@ -356,9 +364,16 @@ function createBodylessRequest (type, callback) {
356
364
} )
357
365
358
366
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
+ ':path' : '/' ,
370
+ ':method' : 'get' ,
371
+ 'content-type' : type || ''
372
+ }
373
+ var option = {
374
+ endStream : true
375
+ }
376
+ session . request ( headers , option )
362
377
} )
363
378
} else {
364
379
var req = {
@@ -369,3 +384,31 @@ function createBodylessRequest (type, callback) {
369
384
callback ( req )
370
385
}
371
386
}
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
+ ':path' : '/' ,
399
+ ':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