@@ -1972,6 +1972,43 @@ test('async iterator yield object error', (t) => {
19721972 } )
19731973} )
19741974
1975+ test ( 'Successfully get a Response when neither a Transfer-Encoding or Content-Length header is present' , ( t ) => {
1976+ t . plan ( 2 )
1977+ const server = createServer ( ( req , res ) => {
1978+ req . on ( 'data' , ( data ) => {
1979+ } )
1980+ req . on ( 'end' , ( ) => {
1981+ res . removeHeader ( 'transfer-encoding' )
1982+ res . writeHead ( 200 , {
1983+ // Header isn't actually necessary, but tells node to close after response
1984+ connection : 'close' ,
1985+ foo : 'bar'
1986+ } )
1987+ res . end ( 'a response body' )
1988+ } )
1989+ } )
1990+ t . teardown ( server . close . bind ( server ) )
1991+
1992+ server . listen ( 0 , ( ) => {
1993+ const client = new Client ( `http://localhost:${ server . address ( ) . port } ` )
1994+ t . teardown ( client . close . bind ( client ) )
1995+
1996+ client . request ( { path : '/' , method : 'GET' } , ( err , { body } ) => {
1997+ t . error ( err )
1998+ const bufs = [ ]
1999+ body . on ( 'error' , ( ) => {
2000+ t . fail ( 'Closing the connection is valid' )
2001+ } )
2002+ body . on ( 'data' , ( buf ) => {
2003+ bufs . push ( buf )
2004+ } )
2005+ body . on ( 'end' , ( ) => {
2006+ t . equal ( 'a response body' , Buffer . concat ( bufs ) . toString ( 'utf8' ) )
2007+ } )
2008+ } )
2009+ } )
2010+ } )
2011+
19752012function buildParams ( path ) {
19762013 const cleanPath = path . replace ( '/?' , '' ) . replace ( '/' , '' ) . split ( '&' )
19772014 const builtParams = cleanPath . reduce ( ( acc , entry ) => {
0 commit comments