| 1234567891011121314151617181920212223 |
- fs = require 'fs'
- logger = require 'logger-sharelatex'
- uuid = require 'uuid'
- _ = require 'underscore'
- Settings = require 'settings-sharelatex'
- module.exports =
- writeStreamToDisk: (identifier, stream, callback = (error, fsPath) ->) ->
- callback = _.once(callback)
- fsPath = "#{Settings.path.dumpFolder}/#{identifier}_#{uuid.v4()}"
- writeStream = fs.createWriteStream(fsPath)
- stream.pipe(writeStream)
- stream.on 'error', (err)->
- logger.err {err, identifier, fsPath}, "[writeStreamToDisk] something went wrong with incoming stream"
- callback(err)
- writeStream.on 'error', (err)->
- logger.err {err, identifier, fsPath}, "[writeStreamToDisk] something went wrong with writing to disk"
- callback(err)
- writeStream.on "finish", ->
- logger.log {identifier, fsPath}, "[writeStreamToDisk] write stream finished"
- callback null, fsPath
|