first commit

This commit is contained in:
2026-02-06 21:08:15 +03:00
commit 2d7bd20ac0
12 changed files with 395 additions and 0 deletions

42
internal/http/server.go Normal file
View File

@@ -0,0 +1,42 @@
package http
import (
"fmt"
"log"
"net/http"
"example.com/m/internal/handlers"
"github.com/gin-gonic/gin"
)
type Server struct {
address string
engine *gin.Engine
linksHandler *handlers.LinksHandler
}
func NewServer(address string, lh *handlers.LinksHandler) *Server {
engine := gin.New()
engine.Use(gin.Recovery())
return &Server{
address: address,
engine: engine,
linksHandler: lh,
}
}
func (s *Server) Start() error {
s.routes()
if err := s.engine.Run(s.address); err != nil && err != http.ErrServerClosed {
log.Fatalf("error occured while starting the server: %v", err)
return err
}
fmt.Println("server started: &v", s.address)
return nil
}