Static file serving middleware.
$ npm install koa-send
maxageBrowser cache max-age in milliseconds. (defaults to
immutableTell the browser the resource is immutable and can be cached indefinitely (defaults to
hiddenAllow transfer of hidden files. (defaults to
rootRoot directory to restrict file access
gzipTry to serve the gzipped version of a file automatically when
gzipis supported by a client and if the requested file with
.gzextension exists. defaults to true.
brotliTry to serve the brotli version of a file automatically when
brotliis supported by a client and if the requested file with
.brextension exists. defaults to true.
true), format the path to serve static file servers and not require a trailing slash for directories, so that you can do both
setHeadersFunction to set custom headers on response.
extensionsTry to match extensions from passed array to search for file when no extension is sufficed in URL. First found is served. (defaults to
root is required, defaults to
'' and will be resolved,
removing the leading
/ to make the path relative and this
path must not contain "..", protecting developers from
concatenating user input. If you plan on serving files based on
user input supply a
root directory from which to serve from.
For example to serve files from
To serve developer specified files:
The function is called as
fn(res, path, stats), where the arguments are:
res: the response object
path: the resolved file path that is being sent
stats: the stats object of the file that is being sent.
You should only use the
setHeaders option when you wish to edit the
Last-Modified headers, because doing it before is useless (it's overwritten by
send), and doing it after is too late because the headers are already sent.
If you want to edit any other header, simply set them before calling
const send = ;const Koa = ;const app = ;// $ GET /package.json// $ GET /appapp;console;