@@ -8,6 +8,7 @@ var Code = require('code');
8
8
var Hapi = require ( '..' ) ;
9
9
var Hoek = require ( 'hoek' ) ;
10
10
var Lab = require ( 'lab' ) ;
11
+ var Wreck = require ( 'wreck' ) ;
11
12
12
13
13
14
// Declare internals
@@ -153,6 +154,40 @@ describe('payload', function () {
153
154
} ) ;
154
155
} ) ;
155
156
157
+ it ( 'returns 400 when payload is not consumed' , function ( done ) {
158
+
159
+ var payload = new Buffer ( 10 * 1024 * 1024 ) . toString ( ) ;
160
+
161
+ var handler = function ( request , reply ) {
162
+
163
+ expect ( request . payload . toString ( ) ) . to . equal ( payload ) ;
164
+ return reply ( request . payload ) ;
165
+ } ;
166
+
167
+ var server = new Hapi . Server ( ) ;
168
+ server . connection ( ) ;
169
+ server . route ( { method : 'POST' , path : '/' , config : { handler : handler , payload : { maxBytes : 10 } } } ) ;
170
+
171
+ server . start ( function ( ) {
172
+
173
+ var uri = 'http://localhost:' + server . info . port ;
174
+
175
+ Wreck . post ( uri , { payload : payload , agent : false } , function ( err , res , body ) {
176
+
177
+ expect ( err ) . to . not . exist ( ) ;
178
+ expect ( res . statusCode ) . to . equal ( 400 ) ;
179
+ expect ( body ) . to . exist ( ) ;
180
+ Wreck . post ( uri , { payload : payload , agent : false } , function ( err , res , body ) {
181
+
182
+ expect ( err ) . to . not . exist ( ) ;
183
+ expect ( res . statusCode ) . to . equal ( 400 ) ;
184
+ expect ( body ) . to . exist ( ) ;
185
+ done ( ) ;
186
+ } ) ;
187
+ } ) ;
188
+ } ) ;
189
+ } ) ;
190
+
156
191
it ( 'peeks at unparsed data' , function ( done ) {
157
192
158
193
var data = null ;
0 commit comments