This commit is contained in:
2022-05-12 09:28:46 +08:00
parent d9e588dcbc
commit 5a65aefca9
5 changed files with 183 additions and 160 deletions

View File

@ -1,6 +1,7 @@
import cors from 'cors';
import express from 'express';
import ejs from 'ejs';
import os from "os";
import serveDirectoryMetadata, { getMetadataMoreEasier } from './actions/serveDirectoryMetadata.js';
import serveFileMetadata from './actions/serveFileMetadata.js';
@ -121,7 +122,7 @@ const renderFolderBrowser = async (req, res, next) => {
</table>
<hr />
<address><%= package %> </address>
<address>186526 NPM Edge Network #010fed1</address>
<address>186526 NPM Edge Network #d9e588d</address>
</body>
</html>`, Object.assign({ package: `${req.packageName}@${req.packageVersion}` }, await getMetadataMoreEasier(req, res)), { async: true });
@ -134,6 +135,8 @@ function createApp(callback) {
return app;
}
const hostname = os.hostname();
export default function createServer() {
return createApp(app => {
app.disable('x-powered-by');
@ -143,6 +146,16 @@ export default function createServer() {
app.use(cors());
app.use(express.static('public', { maxAge: '1y' }));
app.use((req, res, next) => {
res.set({
'x-delivery-by': hostname,
'timing-allow-origin': '*',
'x-powered-by': '186526 NPM Edge Network',
'x-version': 'd9e588d'
});
next();
})
app.use(requestLog);
app.use(redirectLegacyURLs);
@ -151,27 +164,27 @@ export default function createServer() {
res.send("To infinity and beyond!");
})
app.use(
'/browse',
createApp(app => {
app.enable('strict routing');
// app.use(
// '/browse',
// createApp(app => {
// app.enable('strict routing');
app.get(
'*/',
noQuery(),
validatePackagePathname,
validatePackageName,
validatePackageVersion,
renderFolderBrowser,
);
app.get(
'*',
(req, res, next) => {
res.redirect(req.path.replace("/browser", ""));
}
);
})
);
// app.get(
// '*/',
// noQuery(),
// validatePackagePathname,
// validatePackageName,
// validatePackageVersion,
// renderFolderBrowser,
// );
// app.get(
// '*',
// (req, res, next) => {
// res.redirect(req.path.replace("/browser", ""));
// }
// );
// })
// );
// We need to route in this weird way because Express
// doesn't have a way to route based on query params.
@ -232,7 +245,6 @@ export default function createServer() {
}
});
// Send old */ requests to the new /browse UI.
app.get('*/', noQuery(),
validatePackagePathname,
validatePackageName,