Monday, June 3, 2024
 Popular · Latest · Hot · Upcoming
93
rated 0 times [  99] [ 6]  / answers: 1 / hits: 97828  / 10 Years ago, fri, may 2, 2014, 12:00:00

I'm trying to execute curl using node child_process to get a JSON file (about 220Ko) from a shared folder in a local network. But it actually returns a buffer problem that I can't get throught.
Here is my code:



var exec = require('child_process').exec;

var execute = function(command, callback){
exec(command, function(error, stdout, stderr){ callback(error, stdout); });
};

execute(curl http:// + ip + /file.json, function(err, json, outerr) {
if(err) throw err;
console.log(json);
})


And here is the error I get:



if(err) throw err;
^
Error: stdout maxBuffer exceeded.
at Socket.<anonymous> (child_process.js:678:13)
at Socket.EventEmitter.emit (events.js:95:17)
at Socket.<anonymous> (_stream_readable.js:746:14)
at Socket.EventEmitter.emit (events.js:92:17)
at emitReadable_ (_stream_readable.js:408:10)
at emitReadable (_stream_readable.js:404:5)
at readableAddChunk (_stream_readable.js:165:9)
at Socket.Readable.push (_stream_readable.js:127:10)
at Pipe.onread (net.js:526:21)

More From » node.js

 Answers
64

You need to use and set the maxBuffer option when using child_process.exec. From the documentation:




maxBuffer specifies the largest amount of data allowed on stdout or stderr - if this value is exceeded then the child process is killed.




The documentation also states that the default value of maxBuffer is 200KB.



As an example, the maximum buffer size is increased to 500KB in the following code:



var execute = function(command, callback){
exec(command, {maxBuffer: 1024 * 500}, function(error, stdout, stderr){ callback(error, stdout); });
};


Additionally, you may want to read about http.get to see if it is capable of achieving what you are trying to do.


[#71208] Wednesday, April 30, 2014, 10 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
jocelynkarsynr

Total Points: 472
Total Questions: 98
Total Answers: 96

Location: Macau
Member since Mon, Nov 16, 2020
4 Years ago
jocelynkarsynr questions
Tue, Feb 8, 22, 00:00, 2 Years ago
Sat, Jul 11, 20, 00:00, 4 Years ago
Sun, May 10, 20, 00:00, 4 Years ago
Sat, Jan 18, 20, 00:00, 4 Years ago
;