MockFileStoreApi.coffee 811 B

12345678910111213141516171819202122232425262728293031
  1. express = require("express")
  2. app = express()
  3. module.exports = MockFileStoreApi =
  4. files: {}
  5. run: () ->
  6. app.post "/project/:project_id/file/:file_id", (req, res, next) =>
  7. chunks = []
  8. req.on 'data', (chunk) ->
  9. chunks.push(chunk)
  10. req.on 'end', =>
  11. content = Buffer.concat(chunks).toString()
  12. {project_id, file_id} = req.params
  13. @files[project_id] ?= {}
  14. @files[project_id][file_id] = { content }
  15. res.sendStatus 200
  16. app.get "/project/:project_id/file/:file_id", (req, res, next) =>
  17. {project_id, file_id} = req.params
  18. { content } = @files[project_id][file_id]
  19. res.send content
  20. app.listen 3009, (error) ->
  21. throw error if error?
  22. .on "error", (error) ->
  23. console.error "error starting MockFileStoreApi:", error.message
  24. process.exit(1)
  25. MockFileStoreApi.run()