|
|
@ -54,23 +54,30 @@ server.get("/api/torrent/:infoHash", async (request, reply) => { |
|
|
|
|
|
|
|
server.post("/api/torrent/add", async (request, reply) => { |
|
|
|
let result: string[] = []; |
|
|
|
if (request.isMultipart()) { |
|
|
|
let files = request.files(); |
|
|
|
for await (let file of files) { |
|
|
|
let torrentFile = await file.toBuffer(); |
|
|
|
let infoHash = await ipc.add(torrentFile); |
|
|
|
result.push(infoHash); |
|
|
|
} |
|
|
|
} else { |
|
|
|
assert(request.body !== undefined, "Invalid request: empty body"); |
|
|
|
let links = (<any>request.body)["link"]; |
|
|
|
assert(links !== undefined, "Invalid request: empty links"); |
|
|
|
for (let link of (Array.isArray(links) ? links : [links])) { |
|
|
|
let infoHash = await ipc.add(link); |
|
|
|
result.push(infoHash); |
|
|
|
} |
|
|
|
if (request.isMultipart()) { |
|
|
|
let files = request.files(); |
|
|
|
for await (let file of files) { |
|
|
|
let torrentFile = await file.toBuffer(); |
|
|
|
let infoHash = await ipc.add(torrentFile); |
|
|
|
result.push(infoHash); |
|
|
|
} |
|
|
|
return { result: result }; |
|
|
|
} else { |
|
|
|
assert(request.body !== undefined, "Invalid request: empty body"); |
|
|
|
let links = (<any>request.body)["link"]; |
|
|
|
assert(links !== undefined, "Invalid request: empty links"); |
|
|
|
for (let link of (Array.isArray(links) ? links : [links])) { |
|
|
|
let infoHash = await ipc.add(link); |
|
|
|
result.push(infoHash); |
|
|
|
} |
|
|
|
} |
|
|
|
return { result: result }; |
|
|
|
}); |
|
|
|
|
|
|
|
server.delete("/api/torrent/remove/:infoHash", async (request, reply) => { |
|
|
|
let infoHash: string = (<any>request.params)["infoHash"]; |
|
|
|
assert(infoHash != undefined); |
|
|
|
await ipc.remove(infoHash); |
|
|
|
return {} |
|
|
|
}); |
|
|
|
|
|
|
|
// -------------------------------------------------------------------------------------------------
|
|
|
|