2019-07-10 00:21:25 +00:00
|
|
|
import serveAutoIndexPage from './serveAutoIndexPage.js';
|
|
|
|
import serveMetadata from './serveMetadata.js';
|
|
|
|
import serveModule from './serveModule.js';
|
|
|
|
import serveStaticFile from './serveStaticFile.js';
|
2018-02-17 00:00:06 +00:00
|
|
|
|
2018-05-16 14:14:51 +00:00
|
|
|
/**
|
|
|
|
* Send the file, JSON metadata, or HTML directory listing.
|
|
|
|
*/
|
2019-01-06 00:50:05 +00:00
|
|
|
export default function serveFile(req, res) {
|
2018-05-16 14:14:51 +00:00
|
|
|
if (req.query.meta != null) {
|
2018-07-04 23:30:11 +00:00
|
|
|
return serveMetadata(req, res);
|
2018-02-17 00:00:06 +00:00
|
|
|
}
|
2018-07-04 23:30:11 +00:00
|
|
|
|
2018-12-17 17:38:05 +00:00
|
|
|
if (req.entry.type === 'directory') {
|
2018-07-31 17:07:27 +00:00
|
|
|
return serveAutoIndexPage(req, res);
|
2018-07-04 23:30:11 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (req.query.module != null) {
|
2019-02-24 06:04:16 +00:00
|
|
|
return serveModule(req, res);
|
2018-07-04 23:30:11 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
serveStaticFile(req, res);
|
2018-02-17 00:00:06 +00:00
|
|
|
}
|