UNPKG

948 BJavaScriptView Raw
1/**
2 * @file Define apeman-app-contrib-servestatic app.
3 */
4
5"use strict";
6
7var argx = require('argx'),
8 serveStatic = require('serve-static'),
9 objnest = require('objnest');
10
11/** @lends apemanAppContribServestatic */
12function apemanAppContribServestatic(context, root, options, callback) {
13 var args = argx(arguments);
14 context = args.shift('object');
15 callback = args.pop('function') || argx.noop;
16 options = objnest.expand(args.pop('object') || {});
17 root = args.remain();
18
19 if (root.length === 0) {
20 callback(new Error('root is required.'));
21 return;
22 }
23
24 var logger = context.logger;
25
26 var app = root.map(function (root) {
27 logger.debug('serve static with root: ', root);
28 if (context.verbose) {
29 logger.trace("options: %s", options);
30 }
31 return serveStatic(root, options);
32 });
33
34 callback(null, app);
35}
36
37module.exports = apemanAppContribServestatic;