Open fdorantesm opened 5 years ago
Unorthodox solution:
req.originalUrl = req.originalUrl.replace('static', '')
app.get('/static/*', (req, res, next) => {
req.originalUrl = req.originalUrl.replace(process.env.S3_PROXY_PATH, '')
return s3Proxy({
bucket: process.env.AWS_S3_BUCKET,
accessKeyId: process.env.AWS_S3_ACCESS_KEY_ID,
secretAccessKey: process.env.AWS_S3_SECRET_ACCESS_KEY
})(req, res, next)
})
Same here. Except I placed the logic into middleware that is run immediately before the proxy.
FYI - you can also make it a little simpler by using a dedicated sub-app for your proxy:
So, something like:
var proxy = express();
proxy.get('/*', s3Proxy({
bucket: process.env.AWS_S3_BUCKET,
accessKeyId: process.env.AWS_S3_ACCESS_KEY_ID,
secretAccessKey: process.env.AWS_S3_SECRET_ACCESS_KEY
}));
app.use("/static", proxy);
Hi, Von.
I solved this issue using
req.params[0]
insteadreq.originalUrl
but i can't' make test pass for 404 error.