diff options
Diffstat (limited to 'src/server')
| -rw-r--r-- | src/server/router.go | 27 | ||||
| -rw-r--r-- | src/server/server.go | 26 |
2 files changed, 45 insertions, 8 deletions
diff --git a/src/server/router.go b/src/server/router.go new file mode 100644 index 0000000..248a1d3 --- /dev/null +++ b/src/server/router.go @@ -0,0 +1,27 @@ +package server + +import ( + "net/http" + + "github.com/go-chi/chi/v5" + "github.com/go-chi/chi/v5/middleware" + "gitlab.com/alexkavon/newsstand/src/conf" +) + +type HandlerFunc func(s *Server) http.HandlerFunc + +type Route struct { + Name string + Method string + Pattern string + AuthRequired bool + HandlerFunc HandlerFunc +} + +type Routes []Route + +func NewRouter(config *conf.Conf) *chi.Mux { + r := chi.NewRouter() + r.Use(middleware.Logger) + return r +} diff --git a/src/server/server.go b/src/server/server.go index a265b28..21cbe71 100644 --- a/src/server/server.go +++ b/src/server/server.go @@ -1,17 +1,27 @@ package server import ( + "database/sql" "net/http" "github.com/go-chi/chi/v5" - "github.com/go-chi/chi/v5/middleware" + "gitlab.com/alexkavon/newsstand/src/conf" ) -func Start() { - r := chi.NewRouter() - r.Use(middleware.Logger) - r.Get("/", func(w http.ResponseWriter, r *http.Request) { - w.Write([]byte("Yello There!")) - }) - http.ListenAndServe(":8080", r) +type Server struct { + Router *chi.Mux + Db *sql.DB + Config *conf.Conf +} + +func NewServer(config *conf.Conf, router *chi.Mux, db *sql.DB) *Server { + return &Server{ + Router: router, + Db: db, + Config: config, + } +} + +func (s *Server) Serve() { + http.ListenAndServe(":"+s.Config.Server.Port, s.Router) } |
