فهرست منبع

use 'response' to send 'NoSuchKey' when local file is not found

Brian Gough 12 سال پیش
والد
کامیت
7d96f3aadd
2فایلهای تغییر یافته به همراه8 افزوده شده و 2 حذف شده
  1. 7 2
      services/filestore/app/coffee/FSPersistorManager.coffee
  2. 1 0
      services/filestore/package.json

+ 7 - 2
services/filestore/app/coffee/FSPersistorManager.coffee

@@ -2,6 +2,7 @@ logger = require("logger-sharelatex")
 fs = require("fs")
 fs = require("fs")
 LocalFileWriter = require("./LocalFileWriter")
 LocalFileWriter = require("./LocalFileWriter")
 rimraf = require("rimraf")
 rimraf = require("rimraf")
+response = require ("response")
 
 
 filterName = (key) ->
 filterName = (key) ->
   return key.replace /\//g, "_"
   return key.replace /\//g, "_"
@@ -32,8 +33,12 @@ module.exports =
     sourceStream = fs.createReadStream "#{location}/#{filteredName}"
     sourceStream = fs.createReadStream "#{location}/#{filteredName}"
     sourceStream.on 'error', (err) ->
     sourceStream.on 'error', (err) ->
       logger.err err:err, location:location, name:name, "Error reading from file"
       logger.err err:err, location:location, name:name, "Error reading from file"
-      callback err
-    callback null,sourceStream
+      if err.code = 'ENOENT'
+        callback null, response().html('NoSuchKey: file not found\n')
+      else
+        callback err
+    sourceStream.on 'readable', () ->
+      callback null, sourceStream
 
 
 
 
   copyFile: (location, fromName, toName, callback = (err)->)->
   copyFile: (location, fromName, toName, callback = (err)->)->

+ 1 - 0
services/filestore/package.json

@@ -21,6 +21,7 @@
     "node-uuid": "~1.4.1",
     "node-uuid": "~1.4.1",
     "pngcrush": "0.0.3",
     "pngcrush": "0.0.3",
     "request": "2.14.0",
     "request": "2.14.0",
+    "response": "0.14.0",
     "rimraf": "2.2.8",
     "rimraf": "2.2.8",
     "settings-sharelatex": "git+https://github.com/sharelatex/settings-sharelatex.git#master",
     "settings-sharelatex": "git+https://github.com/sharelatex/settings-sharelatex.git#master",
     "stream-buffers": "~0.2.5",
     "stream-buffers": "~0.2.5",