From 4f68337899f091988440d13ac229a225841be491 Mon Sep 17 00:00:00 2001 From: Hermes Date: Mon, 22 Jun 2026 22:34:38 -0700 Subject: [PATCH] feat(server): NewServer + Routes (stdlib mux) --- api/server.go | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 api/server.go diff --git a/api/server.go b/api/server.go new file mode 100644 index 0000000..24e7e2b --- /dev/null +++ b/api/server.go @@ -0,0 +1,25 @@ +package main + +import ( + "database/sql" + "net/http" +) + +type Server struct { + store *Store + db *sql.DB +} + +func NewServer(db *sql.DB) *Server { + return &Server{store: NewStore(db), db: db} +} + +func (s *Server) Routes() *http.ServeMux { + mux := http.NewServeMux() + mux.HandleFunc("GET /api/healthz", s.handleHealth) + mux.HandleFunc("GET /api/posts", s.handleListPosts) + mux.HandleFunc("POST /api/posts", s.handleCreatePost) + mux.HandleFunc("GET /api/posts/{id}", s.handleGetPost) + mux.HandleFunc("POST /api/posts/{id}/comments", s.handleCreateComment) + return mux +}