|
|
@@ -1,42 +0,0 @@
|
|
|
-User = require('../models/User').User
|
|
|
-Project = require('../models/Project').Project
|
|
|
-sanitize = require('sanitizer')
|
|
|
-path = require "path"
|
|
|
-logger = require('logger-sharelatex')
|
|
|
-_ = require('underscore')
|
|
|
-fs = require('fs')
|
|
|
-SecurityManager = require '../managers/SecurityManager'
|
|
|
-Settings = require('settings-sharelatex')
|
|
|
-projectCreationHandler = require '../Features/Project/ProjectCreationHandler'
|
|
|
-projectDuplicator = require('../Features/Project/ProjectDuplicator')
|
|
|
-projectDeleter = require("../Features/Project/ProjectDeleter")
|
|
|
-ProjectZipStreamManager = require '../Features/Downloads/ProjectZipStreamManager'
|
|
|
-metrics = require('../infrastructure/Metrics')
|
|
|
-TagsHandler = require('../Features/Tags/TagsHandler')
|
|
|
-SubscriptionLocator = require("../Features/Subscription/SubscriptionLocator")
|
|
|
-SubscriptionFormatters = require("../Features/Subscription/SubscriptionFormatters")
|
|
|
-FileStoreHandler = require("../Features/FileStore/FileStoreHandler")
|
|
|
-
|
|
|
-module.exports = class ProjectController
|
|
|
- constructor: ()->
|
|
|
-
|
|
|
-
|
|
|
- startBufferingRequest: (req, res, next) ->
|
|
|
- req.bufferedChunks = []
|
|
|
- req.endEmitted = false
|
|
|
- bufferChunk = (chunk) -> req.bufferedChunks.push(chunk)
|
|
|
- req.on "data", bufferChunk
|
|
|
- endCallback = () -> req.endEmitted = true
|
|
|
- req.on "end", endCallback
|
|
|
- req.emitBufferedData = () ->
|
|
|
- logger.log chunks: @bufferedChunks.length, emittedEnd: @endEmitted, "emitting buffer chunks"
|
|
|
- @removeListener "data", bufferChunk
|
|
|
- while @bufferedChunks.length > 0
|
|
|
- @emit "data", @bufferedChunks.shift()
|
|
|
- @removeListener "end", endCallback
|
|
|
- @emit "end" if @endEmitted
|
|
|
- next()
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|