koa-sendfile

basic file-sending utility for koa

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
koa-sendfile
4763.0.04 years ago10 years agoMinified + gzip package size for koa-sendfile in KB

Readme

koa sendfile
!NPM versionnpm-imagenpm-url !Build statustravis-imagetravis-url !Test coveragecoveralls-imagecoveralls-url !Dependency Statusdavid-imagedavid-url !Licenselicense-imagelicense-url !Downloadsdownloads-imagedownloads-url
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

API

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).
const sendfile = require('koa-sendfile')

app.use(async function (ctx, next) {
  const stats = await sendfile(ctx, '/Users/jong/.bash_profile')
  if (!ctx.status) ctx.throw(404)
})