Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- server.route({
- method: 'GET',
- path: '/videos/movie/{token}',
- handler: function(req, reply) {
- let file = path.join(__dirname, 'movie.mp4');
- if(req.headers.range) {
- var positions = req.headers.range.replace(/bytes=/, '').split('-');
- var start = parseInt(positions[0], 10);
- fs.stat(file, function(err, stats) {
- var total = stats.size;
- var end = positions[1] ? parseInt(positions[1], 10) : total - 1;
- var chunksize = (end - start) + 1;
- var stream = fs.createReadStream(file, {
- start: start,
- end: end
- });
- // .on('open', () => console.log('open'))
- // .on('error', (err) => console.log('error', err))
- // .on('close', () => console.log('close'));
- reply(null, stream)
- .code(206)
- .header('Content-Range', `bytes ${start}-${end}/${total}`)
- .header('Accept-Ranges', 'bytes')
- .header('Content-Length', chunksize)
- .header('Content-Type', 'video/mp4');
- });
- } else {
- reply(Boom.unauthorized('Cant download video'));
- }
- }
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement