[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

2.0.3 • 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 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

/koa-send/

    Package Sidebar

    Install

    npm i koa-send@2.0.3

    Version

    2.0.3

    License

    MIT

    Unpacked Size

    8.33 kB

    Total Files

    4

    Last publish

    Collaborators

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