[go: up one dir, main page]

koa-send
DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/koa-send package

3.0.0 • Public • Published

koa-send

NPM version Build status Test coverage Dependency Status License Downloads

Static file serving middleware.

Installation

$ npm install koa-send

Options

  • maxage Browser cache max-age in milliseconds. defaults to 0
  • hidden Allow transfer of hidden files. defaults to false
  • root Root directory to restrict file access
  • gzip Try to serve the gzipped version of a file automatically when gzip is supported by a client and if the requested file with .gz extension exists. defaults to true.
  • format If not false (defaults to true), format the path to serve static file servers and not require a trailing slash for directories, so that you can do both /directory and /directory/

Root path

Note that 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 ./public:

app.use(function *(){
  yield send(this, this.path, { root: __dirname + '/public' });
})

To serve developer specified files:

app.use(function *(){
  yield send(this, 'path/to/my.js');
})

Example

var send = require('koa-send');
var koa = require('koa');
var app = koa();

// $ GET /package.json
// $ GET /

app.use(function *(){
  if ('/' == this.path) return this.body = 'Try GET /package.json';
  yield send(this, __dirname + '/package.json');
})

app.listen(3000);
console.log('listening on port 3000');

License

MIT

Readme

Keywords

Package Sidebar

Install

npm i koa-send@3.0.0

Version

3.0.0

License

MIT

Last publish

Collaborators

  • coderhaoxin
  • niftylettuce
  • aaron
  • juliangruber
  • eivifj
  • dead_horse
  • tjholowaychuk
  • jonathanong
  • jongleberry
  • fengmk2
  • titanism