Search code examples
javascriptnode.jssocketsposteconnreset

Always getting "Socket Hang Up with 'ECONNRESET'"


When trying to hit always get an error with the help of the callback method but always getting error & trying to call API in a POST HTTP Method in NodeJS, tried all solutions but got nothing.

exports.createWallet = function(user_id, password, callback) {

var api_code = config.blockchain.api_code;
var user = user_id;
var pwd = password;

var result;

const post_data = JSON.stringify({
    'api_code': api_code,
    'password': pwd,
    'user_id': user
});

const options = {

    hostname: 'localhost',
    port: 8586,
    path: '/api/v2/create',
    method: 'POST',
    headers: {
        'Content-Type': 'application/x-www-form-urlencoded',
        'Content-Length': Buffer.byteLength(post_data)
    }
};

var request = https.request(options, function (response) {
});

request.on('error', function (error) {

    console.log(error);
});

// With http.request() one must always call request.end() to signify the end of the request - even if there is no data being written to the request body.
request.end();
};
{ Error: socket hang up

    at TLSSocket.onHangUp (_tls_wrap.js:1120:19)
    at Object.onceWrapper (events.js:293:19)
    at emitNone (events.js:91:20)
    at TLSSocket.emit (events.js:188:7)
    at endReadableNT (_stream_readable.js:975:12)
    at _combinedTickCallback (internal/process/next_tick.js:80:11)
    at process._tickCallback (internal/process/next_tick.js:104:9) code: 'ECONNR
ESET' }

Solution

  • //Just use without https & pass parameters in path

    var http = require("http");     
    const options = {
    
        hostname: 'localhost',
        port: 8586,
        path: '/api/v2/create?api_code='+api_code+'&password='+pwd+'&user_id='+user,
        method: 'POST',
    };
    
    var request = http.request(options, function (response) {
    
    }