Skip to content

Commit 5aedadf

Browse files
authored
Merge pull request #216 from 123NeNaD/master
Replacing deprecated "request" package with native https module
2 parents 41bcaee + 7e25ac4 commit 5aedadf

3 files changed

Lines changed: 2282 additions & 699 deletions

File tree

index.js

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
1-
var request = require('request')
1+
var http = require('http')
2+
, https = require('https')
23
, url = require('url')
34
, zlib = require('zlib');
45

6+
const adapters = { 'http:': http, 'https:': https};
7+
58
var prerender = module.exports = function(req, res, next) {
69
if(!prerender.shouldShowPrerenderedPage(req)) return next();
710

@@ -175,8 +178,6 @@ prerender.prerenderServerRequestOptions = {};
175178

176179
prerender.getPrerenderedPageResponse = function(req, callback) {
177180
var options = {
178-
uri: url.parse(prerender.buildApiUrl(req)),
179-
followRedirect: false,
180181
headers: {}
181182
};
182183
for (var attrname in this.prerenderServerRequestOptions) { options[attrname] = this.prerenderServerRequestOptions[attrname]; }
@@ -195,7 +196,9 @@ prerender.getPrerenderedPageResponse = function(req, callback) {
195196
options.headers['X-Prerender-Token'] = this.prerenderToken || process.env.PRERENDER_TOKEN;
196197
}
197198

198-
request.get(options).on('response', function(response) {
199+
const url = new URL(prerender.buildApiUrl(req));
200+
// Dynamically use "http" or "https" module, since process.env.PRERENDER_SERVICE_URL can be set to http protocol
201+
adapters[url.protocol].get(url, options, (response) => {
199202
if(response.headers['content-encoding'] && response.headers['content-encoding'] === 'gzip') {
200203
prerender.gunzipResponse(response, callback);
201204
} else {
@@ -204,6 +207,7 @@ prerender.getPrerenderedPageResponse = function(req, callback) {
204207
}).on('error', function(err) {
205208
callback(err);
206209
});
210+
207211
};
208212

209213
prerender.gunzipResponse = function(response, callback) {

0 commit comments

Comments
 (0)