Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 'use strict';
- const request = require('request');
- module.exports = function forward(req, res, next) {
- var myRequest = request({
- url: req.url,
- headers: req.headers
- });
- req.pipe(myRequest)
- .on('response', function (response) {
- if (response.statusCode >= 400) {
- var body = '';
- // chunks as strings, not buffers
- response.setEncoding('utf8');
- response.on('data', function(chunk) {
- body += chunk;
- });
- response.on('end', function () {
- if(body) {
- next(new Error('error forwarding ' + JSON.stringify(body)));
- } else {
- next(new Error('error forwarding'));
- }
- });
- } else {
- // does this work? I think so
- myRequest.pipe(res);
- }
- })
- .on('error', function (err) {
- next(err);
- });
- }
- return forward;
- }
- module.exports = forwardFactory;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement