sklad/sklad/main.go

54 lines
1.1 KiB
Go

package main
import (
"html/template"
"log"
"net/http"
"os"
)
var (
templates *template.Template
// session storage: UUID -> net.SplitHostPort(http.Server.RemoteAddr)[0]
sessions = map[string]string{}
)
func main() {
if len(os.Args) != 3 {
log.Fatalf("usage: %s ADDRESS DATABASE\n", os.Args[0])
}
var address string
address, dbPath = os.Args[1], os.Args[2]
// Load database.
if err := loadDatabase(); err != nil {
log.Fatalln(err)
}
// Load HTML templates from the current working directory.
var err error
templates, err = template.ParseGlob("*.tmpl")
if err != nil {
log.Fatalln(err)
}
// TODO: Eventually we will need to load a font file for label printing.
// - The path might be part of configuration, or implicit by filename.
// TODO: Some routing, don't forget about sessions.
// - https://stackoverflow.com/a/33880971/76313
//
// - GET /login
// - GET /container?id=UA1
// - GET /series?id=A
// - GET /search?q=bottle
//
// - POST /login?pass=hue
// - POST /logout
// - POST /label?id=UA1
log.Fatalln(http.ListenAndServe(address, nil))
}