http.request( options, function( res2 ) { var bufferHelper = new BufferHelper(); res2.on( 'data', function( chunk ) { bufferHelper.concat( chunk ); } ); res2.on( 'end', function() { var buffer = bufferHelper.toBuffer(); var result; try { result = self._opt.encoding === ENCODING_RAW ? buffer : iconv.fromEncoding( buffer, self._opt.encoding ); } catch ( e ) { res.statusCode = 500; res.end( e + '' ); return; } res.setHeader( 'Set-Cookie', res2.headers['set-cookie'] ); res.setHeader( 'Content-Type' , ( self._opt.dataType === 'json' ? 'application/json' : 'text/html' ) + ';charset=UTF-8' ); res.end( result ); } ); } )
http.request( options, function( res ) { var timer = setTimeout( function() { errCallback( new Error( 'timeout' ) ); }, self._opt.timeout || 5000 ); var bufferHelper = new BufferHelper(); res.on( 'data', function( chunk ) { bufferHelper.concat( chunk ); } ); res.on( 'end', function() { var buffer = bufferHelper.toBuffer(); try { var result = self._opt.encoding === ENCODING_RAW ? buffer : ( self._opt.dataType !== 'json' ? iconv.fromEncoding( buffer, self._opt.encoding ) : JSON.parse( iconv.fromEncoding( buffer, self._opt.encoding ) ) ); } catch ( e ) { clearTimeout( timer ); errCallback( new Error( "The result has syntax error. " + e ) ); return; } clearTimeout( timer ); callback( result, res.headers['set-cookie'] ); } ); } )