From 0677147b637b209ec59ddf27c648b29853bb5cda Mon Sep 17 00:00:00 2001 From: "Alexander \"Arav\" Andreev" Date: Fri, 26 May 2023 04:27:21 +0400 Subject: [PATCH] Removed httprouter dependency from HTTP server. --- internal/http/server.go | 49 +++++++---------------------------------- 1 file changed, 8 insertions(+), 41 deletions(-) diff --git a/internal/http/server.go b/internal/http/server.go index 3212dce..7a82e8b 100644 --- a/internal/http/server.go +++ b/internal/http/server.go @@ -7,50 +7,17 @@ import ( "net/http" "os" "time" - - "github.com/julienschmidt/httprouter" ) type HttpServer struct { - server *http.Server - router *httprouter.Router + s http.Server } -func NewHttpServer() *HttpServer { - r := httprouter.New() - return &HttpServer{ - server: &http.Server{ - ReadTimeout: 3 * time.Second, - WriteTimeout: 3 * time.Second, - Handler: r, - }, - router: r, - } -} - -func (s *HttpServer) GET(path string, handler http.HandlerFunc) { - s.router.Handler(http.MethodGet, path, handler) -} - -func (s *HttpServer) POST(path string, handler http.HandlerFunc) { - s.router.Handler(http.MethodPost, path, handler) -} - -func (s *HttpServer) DELETE(path string, handler http.HandlerFunc) { - s.router.Handler(http.MethodDelete, path, handler) -} - -func (s *HttpServer) ServeStatic(path string, fsys http.FileSystem) { - s.router.ServeFiles(path, fsys) -} - -func (s *HttpServer) SetNotFoundHandler(handler http.HandlerFunc) { - s.router.NotFound = handler -} - -// GetURLParam wrapper around underlying router for getting URL parameters. -func GetURLParam(r *http.Request, param string) string { - return httprouter.ParamsFromContext(r.Context()).ByName(param) +func NewHttpServer(r http.Handler) *HttpServer { + return &HttpServer{s: http.Server{ + ReadTimeout: 3 * time.Second, + WriteTimeout: 3 * time.Second, + Handler: r}} } func (s *HttpServer) Start(network, address string) error { @@ -64,7 +31,7 @@ func (s *HttpServer) Start(network, address string) error { } go func() { - if err = s.server.Serve(listener); err != nil && err != http.ErrServerClosed { + if err = s.s.Serve(listener); err != nil && err != http.ErrServerClosed { log.Fatalln(err) } }() @@ -76,7 +43,7 @@ func (s *HttpServer) Stop() error { ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) defer cancel() - if err := s.server.Shutdown(ctx); err != nil { + if err := s.s.Shutdown(ctx); err != nil { return err }