58 lines
1.4 KiB
JavaScript
58 lines
1.4 KiB
JavaScript
|
import express from 'express';
|
||
|
|
||
|
// import serveAuth from './actions/serveAuth';
|
||
|
import serveFile from './actions/serveFile';
|
||
|
import serveMainPage from './actions/serveMainPage';
|
||
|
import servePublicKey from './actions/servePublicKey';
|
||
|
import serveStats from './actions/serveStats';
|
||
|
|
||
|
import cors from './middleware/cors';
|
||
|
import fetchPackage from './middleware/fetchPackage';
|
||
|
import findFile from './middleware/findFile';
|
||
|
import logger from './middleware/logger';
|
||
|
import redirectLegacyURLs from './middleware/redirectLegacyURLs';
|
||
|
import staticFiles from './middleware/staticFiles';
|
||
|
// import userToken from './middleware/userToken';
|
||
|
import validatePackageURL from './middleware/validatePackageURL';
|
||
|
import validatePackageName from './middleware/validatePackageName';
|
||
|
import validateQuery from './middleware/validateQuery';
|
||
|
|
||
|
import createRouter from './utils/createRouter';
|
||
|
|
||
|
const port = process.env.PORT || '8080';
|
||
|
|
||
|
const app = express();
|
||
|
|
||
|
app.disable('x-powered-by');
|
||
|
|
||
|
app.use(logger);
|
||
|
app.use(staticFiles);
|
||
|
|
||
|
app.get('/', serveMainPage);
|
||
|
|
||
|
app.use(redirectLegacyURLs);
|
||
|
app.use(cors);
|
||
|
|
||
|
app.use(
|
||
|
'/api',
|
||
|
createRouter(app => {
|
||
|
// app.get('/auth', userToken, serveAuth);
|
||
|
app.get('/public-key', servePublicKey);
|
||
|
app.get('/stats', serveStats);
|
||
|
})
|
||
|
);
|
||
|
|
||
|
app.get(
|
||
|
'*',
|
||
|
validatePackageURL,
|
||
|
validatePackageName,
|
||
|
validateQuery,
|
||
|
fetchPackage,
|
||
|
findFile,
|
||
|
serveFile
|
||
|
);
|
||
|
|
||
|
app.listen(port, () => {
|
||
|
console.log('Server listening on port %s, Ctrl+C to quit', port);
|
||
|
});
|