@@ -2,7 +2,8 @@ var Entities = require("entities");
2
2
var FS = require ( 'fs' ) ;
3
3
var XML2JS = require ( 'xml2js' ) ;
4
4
5
- var Request = require ( 'request' ) ;
5
+ var HTTP = require ( 'http' ) ;
6
+ var HTTPS = require ( 'https' ) ;
6
7
7
8
var Parser = module . exports = { } ;
8
9
@@ -48,11 +49,19 @@ Parser.parseString = function(xml, callback) {
48
49
}
49
50
50
51
Parser . parseURL = function ( url , callback ) {
51
- Request ( url , function ( err , resp , body ) {
52
- if ( err ) return callback ( err ) ;
53
- if ( resp . statusCode !== 200 ) return callback ( new Error ( 'Status code is: ' + resp . statusCode ) )
54
- return Parser . parseString ( body , callback ) ;
52
+ var xml = '' ;
53
+ var get = url . indexOf ( 'https' ) === 0 ? HTTPS . get : HTTP . get ;
54
+ var req = get ( url , function ( res ) {
55
+ if ( res . statusCode >= 300 ) return callback ( new Error ( "Status code " + res . statusCode ) )
56
+ res . setEncoding ( 'utf8' ) ;
57
+ res . on ( 'data' , function ( chunk ) {
58
+ xml += chunk ;
59
+ } ) ;
60
+ res . on ( 'end' , function ( ) {
61
+ return Parser . parseString ( xml , callback ) ;
62
+ } )
55
63
} )
64
+ req . on ( 'error' , callback ) ;
56
65
}
57
66
58
67
Parser . parseFile = function ( file , callback ) {
0 commit comments