1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
--- a/lib/router/directory-router.js
+++ b/lib/router/directory-router.js
@@ -12,6 +12,7 @@
*/
var fs = require('fs');
var path = require('path');
+var extname = require('path').extname;
var send = require('send');
var url = require('url');
var util = require('util');
@@ -24,8 +25,6 @@
var configRouterUtil = require('../router/config-router-util');
var appConfig = require('../config/app-config');
-send.mime.define({'text/R': ['r']});
-
module.exports = DirectoryRouter;
/**
* @param {String} root The root directory from which to serve content/apps
@@ -175,6 +174,14 @@
// the below call except without onDirectory and without
// .index(false)
send(req, suffix, {root: self.$root})
+ .on('headers', function (res, path) {
+ switch (extname(path)) {
+ case '.r':
+ // custom type for these extensions
+ res.setHeader('Content-Type', 'text/R')
+ break
+ }
+ })
.on('error', onError)
.on('stream', onStream)
.pipe(res);
@@ -197,6 +204,14 @@
}
send(req, suffix, {root: this.$root, index: false})
+ .on('headers', function (res, path) {
+ switch (extname(path)) {
+ case '.r':
+ // custom type for these extensions
+ res.setHeader('Content-Type', 'text/R')
+ break
+ }
+ })
.on('error', onError)
.on('directory', onDirectory)
.on('stream', onStream)
|