Skip to content

Commit

Permalink
add mime type if image is sent directly
Browse files Browse the repository at this point in the history
  • Loading branch information
thomaspeklak committed Mar 18, 2013
1 parent 5d0b5c0 commit 30159ed
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 1 deletion.
8 changes: 8 additions & 0 deletions lib/plan-tasks.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ var mkdirp = require("mkdirp");
var gm = require("gm");
var manipulationMethods = require("./manipulation-methods");
var Queue = require("./process-queue");
var mime = require("mime");

var planTasks = function (preset) {
var tasks = preset.tasks;
Expand All @@ -24,6 +25,11 @@ var planTasks = function (preset) {
return path.join(preset.basePath, req.path);
};

var setType = function (file, res) {
var type = mime.lookup(file);
res.header("Content-type", type);
};

var resizeFile = function (file, req, res, cb) {
var rs = fs.createReadStream(file);
var image = gm(rs);
Expand All @@ -32,6 +38,8 @@ var planTasks = function (preset) {
manipulationMethods(task.type, task.options, image);
});

setType(file, res);

image.stream(function (err, stdout, stderr) {
if (err) {
console.error(err);
Expand Down
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,8 @@
"gm" : "1.8.x",
"mkdirp" : "0.3.x",
"express" : "3.1.x",
"async" : "0.2.x"
"async" : "0.2.x",
"mime" : "1.2.x"
},
"devDependencies": {
"mocha" : "1.8.x",
Expand Down
16 changes: 16 additions & 0 deletions test/integration-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -251,4 +251,20 @@ describe("resizer", function () {
.expect(200, cleanup(__dirname + "/test-out-images/profile.png", cb));
});

it("should return the correct mime type", function (done) {
var app = express();

var resizer = new Resizer();
resizer.attach("name")
.publicDir(__dirname)
.from("/test-images")
.to("/test-out-images");
app.use(resizer.app);
app.use(express.static(__dirname + "/test-images"));
request(app)
.get("/test-out-images/profile.png")
.expect("Content-type", "image/png")
.expect(200, done);
});

});

0 comments on commit 30159ed

Please sign in to comment.