Refactor handler to server package

This commit is contained in:
bronku 2025-03-22 22:35:47 +01:00
parent fb97ba20c0
commit ca4e448f82
9 changed files with 215 additions and 189 deletions

58
server/server.go Normal file
View file

@ -0,0 +1,58 @@
package server
import (
"html/template"
"net/http"
"github.com/Bronku/iroon/store"
)
type Server struct {
tmpl *template.Template
s *store.Store
http.Handler
}
func (h *Server) Close() {
if h.s != nil {
h.s.Close()
}
}
func (h *Server) openStore() error {
var err error
h.s, err = store.OpenStore("./foo.db")
if err != nil {
h.s.Close()
}
return err
}
func (h *Server) loadHandler() {
mux := http.NewServeMux()
mux.HandleFunc("GET /order/", h.getOrder)
mux.HandleFunc("GET /", h.index)
mux.HandleFunc("POST /order/", h.postOrder)
h.Handler = mux
}
func New() (*Server, error) {
var server Server
var err error
err = server.loadTemplates()
if err != nil {
return nil, err
}
err = server.openStore()
if err != nil {
return nil, err
}
server.loadHandler()
return &server, nil
}