Вызов localhost: сервер 8080 payara из NodeJs app.post с использованием объекта запроса из localhost: 8081 не работает - PullRequest
1 голос
/ 24 апреля 2020

Порт резервного сервера работает в 8080 Node js работает в 4000 Я использую app.post и использую объект запроса для вызова локального внутреннего сервера. Столкнувшись с проблемой. Следующий код не работает:

 let express = require('express');
const cors = require('cors');
const request = require('request');


const app = express();
app.use(express.json());
app.use(cors());
app.options('*', cors());
app.use(function(req, res, next) {
    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
    next();
});

app.all('/*', function (req, res, next) {
    res.header("Access-Control-Allow-Origin", "*");
    res.header('Access-Control-Allow-Methods', 'GET,POST');
    res.header("Access-Control-Allow-Headers", "X-Requested-With, Content-Type");
    next();
});


app.post("/login", (req,res) => {
        let loginRequest = {
            username : req.body.username,
            password:  req.body.password,
        }
        request({
            url:  "http://localhost:8080/app/login", 
            method: "POST",
            rejectUnauthorized: false,
            json: true,
            body: loginRequest ,
            followOriginalHttpMethod : true,
            followAllRedirects : true,
            headers : {"Content-Type": "application/json" 
              },
        }, function (error, response, body){
            console.log("response in server " + JSON.stringify(response)  + " body " + JSON.stringify(body) + " error " + JSON.stringify(error));
            if (response != undefined && response.headers['authorization'] != undefined) {
              //do some logic 
            } else {
                console.log("Invalid credential!");
                res.sendStatus(401);
            }
        });
    });


const port = process.env.PORT || 4000;
    app.listen(port, () => {
        console.log(`Server running at http://localhost:${port}`);
    });

Я использовал: настройки Cors, а также.

console.log, когда я печатаю, он дает результат как: ответ об ошибке на сервере

{"errno": "ECONNRESET", "code": "ECONNRESET", "syscall": "read"}

Бэкэнд-вызов работает в почтальоне.

...