Files
lash/internal/app/routes.go
2026-06-02 07:52:52 -04:00

46 lines
755 B
Go

package app
import (
"flag"
"lash"
"lash/internal/errx"
"lash/internal/handlers"
"net/http"
"os"
)
func New(ctx *lash.LashContext) http.Handler {
mux := http.NewServeMux()
share := handlers.ShareData{
Version: lash.Version,
}
file := handlers.FileHandler{
Ctx: ctx,
}
fps := flag.Args()
if len(fps) < 1 {
errx.FatalPerror(errx.ErrNotEnoughArgs)
}
for _, fp := range fps {
contents, err := os.ReadFile(fp)
if err != nil {
errx.FatalPerror(err)
}
file.FileData = append(file.FileData, handlers.FileData{
Contents: contents,
FileName: fp,
})
}
mux.HandleFunc("/", share.Handler)
mux.HandleFunc("/api/receive-token", file.APIHandler)
mux.HandleFunc("/"+lash.ShareLinkToken, file.FileHandler)
return mux
}