Helper to stream files and buffers with range requests using koa.
This can be used with video
tags, and other resource using the Range
header.
The implementation follows RFC 7233.
$ npm install koa-stream
var stream = require('koa-stream');
var path = require('path');
var app = require('koa');
app.use(function *() {
yield stream.file(this, 'my-video.mp4', {root: path.join(__dirname, '/public')});
});
var stream = require('koa-stream');
var path = require('path');
var app = require('koa');
app.use(function *() {
stream.buffer(this, new Buffer([1,2,3]), 'image/png', {allowDownload: true});
});
See sample/index.js for a working example.
root
: the directory from which file paths will be resolvedallowDownload
: allow to return the file instead of streaming it if notRange
header is provided