This repository has been archived on 2022-05-25. You can view files and clone it, but cannot push or open issues or pull requests.
elon-eats-my-tweets/main.go

40 lines
765 B
Go

package main
import (
"html/template"
"log"
"net/http"
"path/filepath"
"git.netflux.io/rob/elon-eats-my-tweets/config"
"git.netflux.io/rob/elon-eats-my-tweets/httpserver"
"github.com/gorilla/sessions"
"go.uber.org/zap"
)
func main() {
cfg, err := config.NewFromEnv()
if err != nil {
log.Fatal(err)
}
logger, err := zap.NewDevelopment()
if err != nil {
log.Fatal(err)
}
templates, err := template.ParseGlob(filepath.Join(cfg.PublicPath, "views", "*.html"))
if err != nil {
log.Fatalf("error loading templates: %v", err)
}
handler := httpserver.NewHandler(
cfg,
templates,
sessions.NewCookieStore([]byte(cfg.SessionKey)),
httpserver.RandomTokenGenerator{},
logger,
)
log.Fatal(http.ListenAndServe(cfg.ListenAddr, handler))
}