|
5 | 5 | * http://www.catonmat.net/http-proxy-in-nodejs/ |
6 | 6 | */ |
7 | 7 | var http = require('http'); |
| 8 | +var https = require('https'); |
8 | 9 |
|
9 | | -function proxyRequest(request, response, host, port, user, password, getProxiedRequestPath, isUI) { |
| 10 | +function proxyRequest(request, response, host, port, user, password, useSSL, getProxiedRequestPath, isUI) { |
10 | 11 | var filteredHeaders = {}; |
11 | 12 | Object.keys(request.headers).forEach(function(header) { |
12 | 13 | if (header === 'host') { |
@@ -35,7 +36,7 @@ function proxyRequest(request, response, host, port, user, password, getProxiedR |
35 | 36 | options.auth = password ? user + ':' + password : user; |
36 | 37 | } |
37 | 38 |
|
38 | | - var proxyReq = http.request(options); |
| 39 | + var proxyReq = useSSL ? https.request(options) : http.request(options); |
39 | 40 |
|
40 | 41 | proxyReq.addListener('error', function(err){ |
41 | 42 | response.status(500).send('Unable to process your request, ' + err.code); |
@@ -83,15 +84,15 @@ function proxyRequest(request, response, host, port, user, password, getProxiedR |
83 | 84 | }); |
84 | 85 | } |
85 | 86 |
|
86 | | -exports.configureESProxy = function(app, esHost, esPort, esUser, esPassword) { |
| 87 | +exports.configureESProxy = function(app, esHost, esPort, esUser, esPassword, useSSL) { |
87 | 88 | app.use("/__es", function(request, response, next) { |
88 | | - proxyRequest(request, response, esHost, esPort, esUser, esPassword, |
| 89 | + proxyRequest(request, response, esHost, esPort, esUser, esPassword, useSSL, |
89 | 90 | function getProxiedRequestPath(request) { |
90 | 91 | return request.url; |
91 | 92 | }); |
92 | 93 | }); |
93 | 94 | app.use("/_plugin", function(request, response, next) { |
94 | | - proxyRequest(request, response, esHost, esPort, esUser, esPassword, |
| 95 | + proxyRequest(request, response, esHost, esPort, esUser, esPassword, useSSL, |
95 | 96 | function getProxiedRequestPath(request) { |
96 | 97 | return request.originalUrl; |
97 | 98 | }, true); |
|
0 commit comments