@@ -8,7 +8,7 @@ var describeHttp2 = !http2
8
8
: describe
9
9
10
10
describeHttp2 ( 'using http2 streams' , function ( ) {
11
- it ( 'should read body streams ' , function ( done ) {
11
+ it ( 'should read from compatibility api ' , function ( done ) {
12
12
var server = http2 . createServer ( function onRequest ( req , res ) {
13
13
getRawBody ( req , { length : req . headers [ 'content-length' ] } , function ( err , body ) {
14
14
if ( err ) {
@@ -32,6 +32,43 @@ describeHttp2('using http2 streams', function () {
32
32
getRawBody ( request , { encoding : true } , function ( err , str ) {
33
33
http2close ( server , session , function onClose ( ) {
34
34
assert . ifError ( err )
35
+ assert . strictEqual ( headers [ ':status' ] , 200 )
36
+ assert . strictEqual ( str , 'hello, world!' )
37
+ done ( )
38
+ } )
39
+ } )
40
+ } )
41
+ } )
42
+ } )
43
+
44
+ it ( 'should read body streams' , function ( done ) {
45
+ var server = http2 . createServer ( )
46
+
47
+ server . on ( 'stream' , function onStream ( stream , headers ) {
48
+ getRawBody ( stream , { length : headers [ 'content-length' ] } , function ( err , body ) {
49
+ if ( err ) {
50
+ stream . resume ( )
51
+ stream . respond ( { ':status' : 500 } )
52
+ stream . end ( err . message )
53
+ return
54
+ }
55
+
56
+ stream . end ( body )
57
+ } )
58
+ } )
59
+
60
+ server . listen ( function onListen ( ) {
61
+ var addr = server . address ( )
62
+ var session = http2 . connect ( 'http://localhost:' + addr . port )
63
+ var request = session . request ( { ':method' : 'POST' , ':path' : '/' } )
64
+
65
+ request . end ( 'hello, world!' )
66
+
67
+ request . on ( 'response' , function onResponse ( headers ) {
68
+ getRawBody ( request , { encoding : true } , function ( err , str ) {
69
+ http2close ( server , session , function onClose ( ) {
70
+ assert . ifError ( err )
71
+ assert . strictEqual ( headers [ ':status' ] , 200 )
35
72
assert . strictEqual ( str , 'hello, world!' )
36
73
done ( )
37
74
} )
@@ -61,10 +98,11 @@ describeHttp2('using http2 streams', function () {
61
98
62
99
request . end ( 'hello, world!' )
63
100
64
- request . on ( 'response' , function onResponse ( res ) {
101
+ request . on ( 'response' , function onResponse ( headers ) {
65
102
getRawBody ( request , { encoding : true } , function ( err , str ) {
66
103
http2close ( server , session , function onClose ( ) {
67
104
assert . ifError ( err )
105
+ assert . strictEqual ( headers [ ':status' ] , 500 )
68
106
assert . strictEqual ( str , 'stream encoding should not be set' )
69
107
done ( )
70
108
} )
0 commit comments