NodeJS TypeError: res.get не является функцией в res.json (req.res.body); - PullRequest
0 голосов
/ 26 июня 2018

Я только что столкнулся с проблемой в моем коде. Несмотря на мои усилия, я все еще не могу найти решение. Кто-то может мне помочь. Большое спасибо. Я пытался найти решение в Google, но у меня не было никаких решений. Я надеюсь узнать, что случилось и как это исправить

const express = require('express');
const app = express();
const request = require('request');
var serverInfo = {
    application: 'Test',
    startTime: new Date(),
    db: {},
    lastTime: 0,
    last2Time: 0
};
app.use(function(req, res, next) {
    serverInfo.lastTime = new Date();
    if (req.url.indexOf('//INFO//') === 0)
        return res.status(200).json(serverInfo);
    request({
        baseUrl: 'htttp://api.localhost/',
        uri: req.url,
        method: req.method,
        headers: {},
        body: req.body,
        followRedirect: false,
        encoding: 'utf8',
        gzip: true,
        agent: ''
    }, function(error, response, body) {
        if (error) return console.error(error);
        if (response.statusCode === 404)
            return res.status(404).send('Hello World !');
        req.res = response;
        try {
            req.res.body = JSON.parse(body);
        }
        catch (e) {
            console.error(e);
            req.res.body = body;
        }
        next();
        return serverInfo.last2Time = new Date();
    });
});
app.get('/admin', function(req, res, next) {
    res.send('Admin');
});
app.get('*', function(req, res) {
    return res.status(req.res.statusCode).json(req.res.body); //Error here
});
app.listen(process.env.PORT, function() {
    return console.log('Port: ' + process.env.PORT);
});

и моя ошибка

TypeError: res.get is not a function
    at IncomingMessage.fresh (/home/ubuntu/workspace/proxy/node_modules/express/lib/request.js:474:19)
    at ServerResponse.send     (/home/ubuntu/workspace/proxy/node_modules/express/lib/response.js:206:11)
    at ServerResponse.json (/home/ubuntu/workspace/proxy/node_modules/express/lib/response.js:267:15)
    at /home/ubuntu/workspace/proxy/index.js:49:43
    at Layer.handle [as handle_request] (/home/ubuntu/workspace/proxy/node_modules/express/lib/router/layer.js:95:5)
    at next (/home/ubuntu/workspace/proxy/node_modules/express/lib/router/route.js:137:13)
    at Route.dispatch (/home/ubuntu/workspace/proxy/node_modules/express/lib/router/route.js:112:3)
    at Layer.handle [as handle_request] (/home/ubuntu/workspace/proxy/node_modules/express/lib/router/layer.js:95:5)
    at /home/ubuntu/workspace/proxy/node_modules/express/lib/router/index.js:281:22
    at param (/home/ubuntu/workspace/proxy/node_modules/express/lib/router/index.js:354:14)

Спасибо всем, кто просматривает эту статью!

...