Monday, 29 May 2017

Getting "first argument must be a string or Buffer" error

// call the packages
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var figlet = require('figlet');
var querystring = require('querystring');
var http = require('http');
var fs = require('fs');
var request = require('request');

// configure app to use bodyParser()
// this will let app get the data from a POST
app.use(bodyParser.urlencoded({
    extended: true
}));
app.use(bodyParser.text());

// set port
var port = process.env.PORT || 8082;

// get an instance of the express Router
var router = express.Router();


// middleware to use for all requests
router.use(function(req, res, next) {

    // do logging
    console.log('UnitGener router invoking');
    // go to the next routes and don't stop here
    next();
});

// test route to make sure everything is working (accessed at GET http://localhost:8082/api)
router.get('/status', function(req, res) {
    res.json({
        message: 'UnitGener is ready to work!'
    });
});


//noinspection JSUnresolvedFunction
router.route('/function')

    .post(function(req, res) {
        console.log(req.body);
        var formatted = req.body;


        request.post({
            headers: {
                'content-type': 'application/x-www-form-urlencoded'
            },
            url: 'http://localhost:5000/generate',
            body: formatted
        }, function(error, response, body) {
            console.log(body);
        });

    });

app.use('/api', router);
app.listen(port);
});

Here is my complete code for creating a POST route with the given configs and then I am calling another post route within the post method. But I am getting the "throw new TypeError('first argument must be a string or Buffer');" this error. I did some google finding and did some changes also , non of them worked and still find it hard to point the error. I changed the body: formatted to body: formatted.toString() also but didn't work. Please give me some advice to find this out. Its a huge help for me.

Thanks in Advance



via Cyrex

No comments:

Post a Comment