diff options
Diffstat (limited to 'cmd')
| -rw-r--r-- | cmd/web/main.go | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/cmd/web/main.go b/cmd/web/main.go index 3f16dec..f215d1e 100644 --- a/cmd/web/main.go +++ b/cmd/web/main.go @@ -4,29 +4,43 @@ import ( "log" "net/http" "os" + "path" "github.com/go-chi/chi" "git.ofmax.li/iserv/internal/db/redis" + "git.ofmax.li/iserv/internal/fs" "git.ofmax.li/iserv/internal/image" + "go.ofmax.li/tmpl" ) func main() { connPool := redis.CreatePool("localhost:6379") db := redis.NewRedisImageRepo(connPool) + renderer, err := tmpl.NewHTMLTmpl("templates") + if err != nil { + log.Fatal(err) + } + storagePath, err := os.Getwd() if err != nil { log.Fatal("couldn't find directory to write images to") } - imageService := image.NewService(db, storagePath) + // Image + imageService := image.NewService(db, storagePath, renderer) imageHandler := image.NewHandler(imageService) + imageFile := fs.NewHandler(storagePath) + // Static Files + staticFiles := fs.NewHandler(path.Join(storagePath, "static")) r := chi.NewRouter() - r.Get("/i", imageHandler.GetImage) - r.Post("/i", imageHandler.PostImage) + r.Get("/i/{fileName}", imageHandler.GetImage) + r.Post("/u", imageHandler.PostImage) + r.Get("/f/*", imageFile) + r.Get("/static/*", staticFiles) log.Print("starting imageserv") log.Fatal(http.ListenAndServe(":8080", r)) } |