Skip to content

Commit

Permalink
Merge pull request #37 from felixfbecker/26-promise
Browse files Browse the repository at this point in the history
Return a promise
  • Loading branch information
jonathanong committed Oct 22, 2015
2 parents cad465b + cc8162a commit f858b06
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 18 deletions.
38 changes: 20 additions & 18 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ var basename = path.basename;
var extname = path.extname;
var resolve = path.resolve;
var fs = require('mz/fs');
var co = require('co');

/**
* Expose `send()`.
Expand All @@ -30,23 +31,24 @@ module.exports = send;
*/

function send(ctx, path, opts) {
assert(ctx, 'koa context required');
assert(path, 'pathname required');
opts = opts || {};

// options
debug('send "%s" %j', path, opts);
var root = opts.root ? normalize(resolve(opts.root)) : '';
var trailingSlash = '/' == path[path.length - 1];
path = path[0] == '/' ? path.slice(1) : path;
var index = opts.index;
var maxage = opts.maxage || opts.maxAge || 0;
var hidden = opts.hidden || false;
var format = opts.format === false ? false : true;
var gzip = opts.gzip === false ? false : true;

return function *(){
var encoding = this.acceptsEncodings('gzip', 'deflate', 'identity');
return co(function *(){

assert(ctx, 'koa context required');
assert(path, 'pathname required');
opts = opts || {};

// options
debug('send "%s" %j', path, opts);
var root = opts.root ? normalize(resolve(opts.root)) : '';
var trailingSlash = '/' == path[path.length - 1];
path = path[0] == '/' ? path.slice(1) : path;
var index = opts.index;
var maxage = opts.maxage || opts.maxAge || 0;
var hidden = opts.hidden || false;
var format = opts.format === false ? false : true;
var gzip = opts.gzip === false ? false : true;

var encoding = ctx.acceptsEncodings('gzip', 'deflate', 'identity');

// normalize path
path = decode(path);
Expand Down Expand Up @@ -98,7 +100,7 @@ function send(ctx, path, opts) {
ctx.body = fs.createReadStream(path);

return path;
}
});
}

/**
Expand Down
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
},
"license": "MIT",
"dependencies": {
"co": "^4.6.0",
"debug": "*",
"mz": "^2.1.0",
"resolve-path": "^1.3.0"
Expand Down

0 comments on commit f858b06

Please sign in to comment.