html2canvas-proxy
Advanced tools
Comparing version 0.0.5 to 1.0.0
@@ -0,0 +0,0 @@ var proxy = require("../server.js"); |
{ | ||
"name": "html2canvas-proxy", | ||
"version": "0.0.5", | ||
"version": "1.0.0", | ||
"description": "Cross-origin content proxy for html2canvas", | ||
"main": "server.js", | ||
"scripts": { | ||
"test": "mocha test" | ||
"test": "exit 0" | ||
}, | ||
@@ -24,7 +24,8 @@ "repository": { | ||
"dependencies": { | ||
"cors": "^2.4.2", | ||
"express": "^4.9.3", | ||
"qs": "^2.2.4", | ||
"request": "^2.44.0" | ||
"cors": "2.8.4", | ||
"request": "2.81.0" | ||
}, | ||
"peerDependencies": { | ||
"express": "4.x" | ||
} | ||
} |
@@ -1,36 +0,40 @@ | ||
var express = require('express'); | ||
var url = require('url'); | ||
var cors = require('cors'); | ||
var qs = require('qs'); | ||
var request = require('request'); | ||
const express = require('express'); | ||
const url = require('url'); | ||
const cors = require('cors'); | ||
const request = require('request'); | ||
module.exports = function() { | ||
var app = express.Router(); | ||
function validUrl(req, res, next) { | ||
req.query = req.query || qs.parse(url.parse(req.url).query); | ||
if (req.query.url == null) { | ||
next(new Error("No url specified")); | ||
} else if (typeof(req.query.url) !== "string" || url.parse(req.query.url).host === null) { | ||
next(new Error("Invalid url specified: " + req.query.url)) | ||
} else { | ||
next(); | ||
} | ||
function validUrl(req, res, next) { | ||
if (!req.query.url) { | ||
next(new Error('No url specified')); | ||
} else if (typeof req.query.url !== 'string' || url.parse(req.query.url).host === null) { | ||
next(new Error(`Invalid url specified: ${req.query.url}`)); | ||
} else { | ||
next(); | ||
} | ||
} | ||
app.use(cors()); | ||
app.get('/', validUrl, function(req, res, next) { | ||
if (typeof(req.query.callback) === "string") { | ||
request({url: req.query.url, encoding: 'binary'}, function(error, response, body) { | ||
if (error) { | ||
return next(error); | ||
} | ||
res.jsonp({content: new Buffer(body, 'binary').toString('base64'), type: response.headers['content-type']}); | ||
}); | ||
} else { | ||
req.pipe(request(req.query.url).on('error', next)).pipe(res); | ||
} | ||
module.exports = () => { | ||
const app = express.Router(); | ||
app.get('/', cors(), validUrl, (req, res, next) => { | ||
switch (req.query.responseType) { | ||
case 'blob': | ||
req.pipe(request(req.query.url).on('error', next)).pipe(res); | ||
break; | ||
case 'text': | ||
default: | ||
request({url: req.query.url, encoding: 'binary'}, (error, response, body) => { | ||
if (error) { | ||
return next(error); | ||
} | ||
res.send( | ||
`data:${response.headers['content-type']};base64,${Buffer.from( | ||
body, | ||
'binary' | ||
).toString('base64')}` | ||
); | ||
}); | ||
} | ||
}); | ||
return app; | ||
}; |
Sorry, the diff of this file is not supported yet
No README
QualityPackage does not have a README. This may indicate a failed publish or a low quality package.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
3496
3
6
44
0
0
27
+ Addedajv@4.11.8(transitive)
+ Addedassert-plus@0.2.0(transitive)
+ Addedaws-sign2@0.6.0(transitive)
+ Addedboom@2.10.1(transitive)
+ Addedco@4.6.0(transitive)
+ Addedcors@2.8.4(transitive)
+ Addedcryptiles@2.0.5(transitive)
+ Addedform-data@2.1.4(transitive)
+ Addedhar-schema@1.0.5(transitive)
+ Addedhar-validator@4.2.1(transitive)
+ Addedhawk@3.1.3(transitive)
+ Addedhoek@2.16.3(transitive)
+ Addedhttp-signature@1.1.1(transitive)
+ Addedisarray@2.0.5(transitive)
+ Addedjson-stable-stringify@1.1.1(transitive)
+ Addedjsonify@0.0.1(transitive)
+ Addedoauth-sign@0.8.2(transitive)
+ Addedobject-keys@1.1.1(transitive)
+ Addedperformance-now@0.2.0(transitive)
+ Addedpunycode@1.4.1(transitive)
+ Addedqs@6.4.1(transitive)
+ Addedrequest@2.81.0(transitive)
+ Addedsntp@1.0.9(transitive)
+ Addedstringstream@0.0.6(transitive)
+ Addedtough-cookie@2.3.4(transitive)
- Removedexpress@^4.9.3
- Removedqs@^2.2.4
- Removedajv@6.12.6(transitive)
- Removedaws-sign2@0.7.0(transitive)
- Removedcors@2.8.5(transitive)
- Removedfast-deep-equal@3.1.3(transitive)
- Removedfast-json-stable-stringify@2.1.0(transitive)
- Removedform-data@2.3.3(transitive)
- Removedhar-schema@2.0.0(transitive)
- Removedhar-validator@5.1.5(transitive)
- Removedhttp-signature@1.2.0(transitive)
- Removedjson-schema-traverse@0.4.1(transitive)
- Removedoauth-sign@0.9.0(transitive)
- Removedperformance-now@2.1.0(transitive)
- Removedpsl@1.9.0(transitive)
- Removedpunycode@2.3.1(transitive)
- Removedqs@2.4.26.5.3(transitive)
- Removedrequest@2.88.2(transitive)
- Removedtough-cookie@2.5.0(transitive)
- Removeduri-js@4.4.1(transitive)
Updatedcors@2.8.4
Updatedrequest@2.81.0