File: fix-send-mime.patch

package info (click to toggle)
node-shiny-server 1.5.20.1002-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,740 kB
  • sloc: javascript: 7,112; sh: 933; cpp: 303; python: 155; makefile: 34
file content (49 lines) | stat: -rw-r--r-- 1,549 bytes parent folder | download
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)