Files
zurg/cmd/zurg/main.go
Ben Sarmiento 6eccba394c Add caching
2023-10-22 13:29:41 +02:00

35 lines
769 B
Go

package main
import (
"fmt"
"log"
"net/http"
"time"
"github.com/debridmediamanager.com/zurg/internal/config"
"github.com/debridmediamanager.com/zurg/internal/dav"
"github.com/debridmediamanager.com/zurg/internal/torrent"
"github.com/hashicorp/golang-lru/v2/expirable"
)
func main() {
c, cErr := config.LoadZurgConfig("./config.yml")
if cErr != nil {
log.Panicf("Config failed to load: %v", cErr)
}
t := torrent.NewTorrentManager(c)
cache := expirable.NewLRU[string, string](1e4, nil, time.Hour)
mux := http.NewServeMux()
dav.Router(mux, c, t, cache)
addr := fmt.Sprintf(":%s", c.GetPort())
log.Printf("Starting server on %s\n", addr)
err := http.ListenAndServe(addr, mux)
if err != nil {
log.Panicf("Failed to start server: %v", err)
}
}