@medley/serve-static v0.3.0
@medley/serve-static
Medley plugin for serving static files.
Installation
npm install @medley/serve-static --save
# or
yarn add @medley/serve-staticUsage
const medley = require('@medley/medley');
const path = require('path');
const app = medley();
app.register(require('@medley/serve-static'), {
root: path.join(__dirname, 'static')
});
// Serves files in the './static' folder from the root "/" URLOptions
root (required)
The absolute path of the directory that contains the files to serve. The
file to serve will be determined by combining this value with req.url.
prefix
Default: '/'
A URL prefix that serves as a virtual mount path for the static directory.
const medley = require('@medley/medley');
const path = require('path');
const app = medley();
app.register(require('@medley/serve-static'), {
root: path.join(__dirname, 'static'),
prefix: '/static/'
});
// A request to "/static/styles.css" will get 'styles.css' in the './static' folderTip: Registering the plugin on a prefixed sub-app is an alternative to using this option.
setHeaders
Default: undefined
A function to set custom headers on the response. Setting headers must be done synchronously. The function receives the following arguments:
res- Node'sServerResponseobject for the request.filePath- The absolute path of the file that is being sent.stats- The fs stats object of the file that is being sent.
Example:
// https://www.npmjs.com/package/content-disposition
const contentDisposition = require('content-disposition');
// Set header to force download
function setHeaders(res, filePath, stats) {
res.setHeader('content-disposition', contentDisposition(filePath));
}
app.register(require('@medley/serve-static'), {
root: path.join(__dirname, 'downloads'),
setHeaders: setHeaders
});send Options
The following options are also supported and will be passed directly to the
send module:
About Errors
The send module is only designed to work with the native Node http module,
so handling errors when using this module with Medley doesn’t work very well
(without writing major workarounds that could end up hurting performance).
For this reason, if an error occurs while trying to send a file (including 404
errors when a file isn’t found), the error will be sent to Medley's
onErrorSending
function and a response will be sent automatically.