mirror of
https://github.com/Open-Argon/isotope-server.git
synced 2026-10-28 09:43:51 +00:00
25 lines
818 B
Plaintext
25 lines
818 B
Plaintext
import "server" as *
|
|
import "config" as *
|
|
import "database" as *
|
|
|
|
let download(req, res) = do
|
|
let name = req.query.get("name", null)
|
|
let version = req.query.get("version", "latest")
|
|
let package = packages.get(name)
|
|
if (package == null) do
|
|
res.code = 404
|
|
res.send("Package not found")
|
|
return
|
|
let currentVersion = package.versions.get(version)
|
|
forever do
|
|
let redirect = currentVersion.get("redirect")
|
|
if (redirect) do
|
|
currentVersion = package.versions.get(redirect)
|
|
continue
|
|
break
|
|
let filename = currentVersion.get("filename")
|
|
let p = path.join([program.cwd, "data","packages", name, filename])
|
|
res.sendFile(p)
|
|
package.download = package.get("download", 0) + 1
|
|
app.route("/isotope-download", null, download)
|