code refactoring
This commit is contained in:
@@ -66,7 +66,6 @@ export default function Downloaded() {
|
||||
? folders.slice(-(folders.length - 1)).join('/')
|
||||
: folders.pop()
|
||||
|
||||
|
||||
const _upperLevel = folders.slice(1, -1)
|
||||
const upperLevel = _upperLevel.length === 2
|
||||
? ['.', ..._upperLevel].join('/')
|
||||
@@ -131,7 +130,7 @@ export default function Downloaded() {
|
||||
|
||||
|
||||
const onFileClick = (path: string) => startTransition(() => {
|
||||
window.open(`${serverAddr}/play?path=${Buffer.from(path).toString('hex')}`)
|
||||
window.open(`${serverAddr}/d/${Buffer.from(path).toString('hex')}`)
|
||||
})
|
||||
|
||||
const onFolderClick = (path: string) => startTransition(() => {
|
||||
|
||||
@@ -94,12 +94,8 @@ func DeleteFile(ctx *fiber.Ctx) error {
|
||||
return ctx.JSON("ok")
|
||||
}
|
||||
|
||||
type PlayRequest struct {
|
||||
Path string
|
||||
}
|
||||
|
||||
func PlayFile(ctx *fiber.Ctx) error {
|
||||
path := ctx.Query("path")
|
||||
func SendFile(ctx *fiber.Ctx) error {
|
||||
path := ctx.Params("id")
|
||||
|
||||
if path == "" {
|
||||
return errors.New("inexistent path")
|
||||
@@ -114,10 +110,9 @@ func PlayFile(ctx *fiber.Ctx) error {
|
||||
|
||||
// TODO: further path / file validations
|
||||
if strings.Contains(filepath.Dir(string(decoded)), root) {
|
||||
ctx.SendStatus(fiber.StatusPartialContent)
|
||||
ctx.SendStatus(fiber.StatusOK)
|
||||
return ctx.SendFile(string(decoded))
|
||||
}
|
||||
|
||||
ctx.Status(fiber.StatusOK)
|
||||
return ctx.SendStatus(fiber.StatusUnauthorized)
|
||||
}
|
||||
|
||||
@@ -45,7 +45,7 @@ func RunBlocking(port int, frontend fs.FS) {
|
||||
app.Post("/downloaded", rest.ListDownloaded)
|
||||
|
||||
app.Post("/delete", rest.DeleteFile)
|
||||
app.Get("/play", rest.PlayFile)
|
||||
app.Get("/d/:id", rest.SendFile)
|
||||
|
||||
// RPC handlers
|
||||
// websocket
|
||||
|
||||
Reference in New Issue
Block a user