41 lines
787 B
Go
41 lines
787 B
Go
package main
|
|
|
|
import (
|
|
"context"
|
|
"librapi/server"
|
|
"librapi/services"
|
|
"os"
|
|
"os/signal"
|
|
|
|
"github.com/rs/zerolog"
|
|
"github.com/rs/zerolog/log"
|
|
|
|
"librapi/handlers/login"
|
|
"librapi/handlers/upload"
|
|
)
|
|
|
|
func initLogger() {
|
|
zerolog.TimeFieldFormat = zerolog.TimeFormatUnix
|
|
log.Logger = log.With().Caller().Logger().Output(zerolog.ConsoleWriter{Out: os.Stderr})
|
|
}
|
|
|
|
func main() {
|
|
initLogger()
|
|
|
|
ctx, fnCancel := signal.NotifyContext(context.Background(), os.Kill, os.Interrupt)
|
|
defer fnCancel()
|
|
|
|
sessionStore := services.NewSessionStore(ctx)
|
|
|
|
srv := server.NewServer(
|
|
ctx,
|
|
services.GetEnv().GetPort(),
|
|
server.NewHandler("/upload", upload.Handler(sessionStore)),
|
|
server.NewHandler("/login", login.Handler(sessionStore)),
|
|
)
|
|
srv.Serve()
|
|
|
|
<-srv.Done()
|
|
<-sessionStore.Done()
|
|
}
|