node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »


koa sendfile

NPM version Build status Test coverage Dependency Status License Downloads

Basic file-sending utility for koa. It does the following:

  • Check if a file exists
  • Set content-length, content-type, and last-modified headers
  • 304 based on last-modified
  • Handle HEAD requests

It does not:

  • Check for malicious paths or hidden files
  • Support directory indexes
  • Cache control
  • OPTIONS method


sendfile(context, filename)

You must pass the koa context. filename is the filename of the file.

sendfile returns a promise that resolves to the fs.stat() result of the filename. If sendfile() resolves, that doesn't mean that a response is set - the filename could be a directory. Instead, check if (context.status).

var sendfile = require('koa-sendfile')
app.use(function* (next) {
  var stats = yield sendfile(this, '/Users/jong/.bash_profile')
  if (!this.status) this.throw(404)