mirror of
https://github.com/overleaf/overleaf.git
synced 2024-12-02 12:19:12 -05:00
c303af5d4d
use async project history zip download api GitOrigin-RevId: 847e22eb3bf89e2e9e3c86bcc9ae92f8c90b25b1
30 lines
1.2 KiB
CoffeeScript
30 lines
1.2 KiB
CoffeeScript
_ = require 'lodash'
|
|
express = require 'express'
|
|
bodyParser = require "body-parser"
|
|
app = express()
|
|
{ObjectId} = require 'mongojs'
|
|
|
|
module.exports = MockV1HistoryApi =
|
|
fakeZipCall: 0
|
|
run: () ->
|
|
app.get "/api/projects/:project_id/version/:version/zip", (req, res, next) =>
|
|
res.header('content-disposition', 'attachment; name=project.zip')
|
|
res.header('content-type', 'application/octet-stream')
|
|
res.send "Mock zip for #{req.params.project_id} at version #{req.params.version}"
|
|
|
|
app.get "/fake-zip-download/:project_id/version/:version", (req, res, next) =>
|
|
return res.sendStatus 404 unless @fakeZipCall++ > 0
|
|
res.header('content-disposition', 'attachment; name=project.zip')
|
|
res.header('content-type', 'application/octet-stream')
|
|
res.send "Mock zip for #{req.params.project_id} at version #{req.params.version}"
|
|
|
|
app.post "/api/projects/:project_id/version/:version/zip", (req, res, next) =>
|
|
res.json zipUrl: "http://localhost:3100/fake-zip-download/#{req.params.project_id}/version/#{req.params.version}"
|
|
|
|
app.listen 3100, (error) ->
|
|
throw error if error?
|
|
.on "error", (error) ->
|
|
console.error "error starting MockV1HistoryApi:", error.message
|
|
process.exit(1)
|
|
|
|
MockV1HistoryApi.run()
|