unpkg/modules/server.js

58 lines
1.4 KiB
JavaScript
Raw Normal View History

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);
});