'use strict';
var _http = require('http');
var _http2 = _interopRequireDefault(_http);
var _proxy = require('proxy');
var _proxy2 = _interopRequireDefault(_proxy);
var _server = require('./server');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
// Set up upstream proxy with no auth var upstreamProxyHttpServer = _http2.default.createServer(); // eslint-disable-line import/no-extraneous-dependencies /*!
* This script runs the proxy with a second upstream proxy locally on port specified by PORT environment variable * or 8080 if not provided. This is used to manually test the proxy on normal browsing. * * node ./build/run_locally.js * * Author: Jan Curn (jan@apify.com) * Copyright(c) 2017 Apify Technologies. All rights reserved. * */
upstreamProxyHttpServer.on('error', function (err) {
console.error(err.stack || err);
});
var upstreamProxyServer = (0, _proxy2.default)(upstreamProxyHttpServer); var upstreamProxyPort = process.env.UPSTREAM_PROXY_PORT || 8081; upstreamProxyServer.listen(process.env.UPSTREAM_PROXY_PORT || 8081, function (err) {
if (err) { console.error(err.stack || err); process.exit(1); }
});
// Setup proxy to forward to upstream var server = new _server.Server({
port: process.env.PORT || 8080, // verbose: true, prepareRequestFunction: function prepareRequestFunction() { return { requestAuthentication: false, upstreamProxyUrl: 'http://127.0.0.1:' + upstreamProxyPort }; }
});
server.on('requestFailed', function (_ref) {
var error = _ref.error, request = _ref.request; console.error('Request failed (' + (request ? request.url : 'N/A') + '): ' + (error.stack || error));
});
server.listen().then(function () {
console.log('Proxy server is running at http://127.0.0.1:' + server.port); setInterval(function () { console.log('Stats: ' + JSON.stringify(server.stats)); }, 30000);
}).catch(function (err) {
console.error(err.stack || err); process.exit(1);
});