Merge pull request #26047 from overleaf/bg-web-api-is-leaking-disk-space

clean up temporary files in GitBridgeHandler operations

GitOrigin-RevId: b4a202f4f4c563a020fed8a47da1a84417ccbd2d
This commit is contained in:
Brian Gough
2025-06-03 08:06:43 +00:00
committed by Copybot
parent 17e0186711
commit 8c33f1b96e
@@ -3,12 +3,16 @@ import AbstractMockApi from './AbstractMockApi.mjs'
class MockGitBridgeApi extends AbstractMockApi {
reset() {
this.projects = {}
this.postbacks = {}
}
applyRoutes() {
this.app.delete('/api/projects/:projectId', (req, res) => {
this.deleteProject(req, res)
})
this.app.post('/postback/:id', (req, res) => {
this.postback(req, res)
})
}
deleteProject(req, res) {
@@ -16,6 +20,24 @@ class MockGitBridgeApi extends AbstractMockApi {
delete this.projects[projectId]
res.sendStatus(204)
}
// Git bridge accepts a postback to indicate when a operation is complete.
// Each postback is identified by a unique ID.
// Allow registering a handler which resolves when a postback is received.
registerPostback(id) {
return new Promise((resolve, reject) => {
this.postbacks[id] = { resolve, reject }
})
}
postback(req, res) {
const { id } = req.params
const postbackData = req.body
if (this.postbacks[id]) {
this.postbacks[id].resolve(postbackData)
}
res.sendStatus(204)
}
}
export default MockGitBridgeApi