тело запроса как параметр для обхода почтового запроса с сервера nodejs - PullRequest
0 голосов
/ 13 июля 2020

Я создал node JS сервер для различных целей. Если клиентское приложение angular отправляет запрос на получение файла pdf, я хочу предоставить его с сервера nodejs. Но для других запросов, таких как post, delete, patch, get, я хочу обойти запрос к серверу prism, а затем вернуть ответ клиентской стороне.

При обходе запросов post и patch мне нужно для предоставления тела запроса серверу призмы. Как я могу добавить его в качестве параметра?

NodeJS код сервера:

var http = require('http');
var fs = require('fs');
var request = require('request');

http.createServer(function (req, res) {
    if(req.method === 'OPTIONS'){
        res.statusCode = 200;
        res.setHeader("Access-Control-Allow-Origin", "*");
        res.setHeader("Access-Control-Allow-Headers", "*");
        res.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, Authorization");
        res.setHeader("Access-Control-Allow-Credentials", true);
        res.setHeader("Access-Control-Allow-Methods","*");
        return res.end();
    }
    else{
        if(req.url === '/pdf'){
            fs.readFile('guide.pdf', function(err, data) {
            res.writeHead(200, {'Content-Type': 'application/pdf'});
            res.write(data);
            return res.end();
            });
        }
        else{
            var method, r;
            method = req.method.toLowerCase().replace('delete','del');
            console.log(method);
            switch (method) {
                case "post":
                    r = request[method]({
                        uri: 'http://127.0.0.1:4010' + req.url,
                        body: ?
                    });
                    break;
                case "get":
                    r = request[method]({
                        uri: 'http://127.0.0.1:4010' + req.url
                    });
                    break;
                case "del":
                    r = request[method]({
                        uri: 'http://127.0.0.1:4010' + req.url
                    });
                case "put":
                case "patch":
                    console.log(req.data);
                    r = request[method]({
                        uri: 'http://127.0.0.1:4010' + req.url,
                        body: ?
                    });
                    break;
                default:
                    return res.send("invalid method");
            }
            return req.pipe(r).pipe(res);
        }
    }
}).listen(8080);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...