feat: logging

This commit is contained in:
Anatoly Antonov 2025-03-26 17:44:05 +03:00
parent 778d5ef146
commit fe5e40162b
10 changed files with 151 additions and 75 deletions

View file

@ -2,32 +2,37 @@ package rest
import (
"fmt"
"log"
"net/http"
"git.intra.yksa.space/gsn/gsn-proxy/internal/transport/middleware"
handler "git.intra.yksa.space/gsn/gsn-proxy/internal/transport/rest/handler"
api "git.intra.yksa.space/gsn/gsn-proxy/pkg/rest"
"go.uber.org/zap"
)
type Transport struct {
lg *zap.Logger
cfg *Config
srv *api.Server
}
func New(handler *handler.Handler, cfg *Config) (*Transport, error) {
srv, err := api.NewServer(handler)
func New(lg *zap.Logger, handler *handler.Handler, cfg *Config) (*Transport, error) {
srv, err := api.NewServer(handler, api.WithMiddleware(middleware.Logging(lg)))
if err != nil {
return nil, err
}
return &Transport{
lg: lg,
srv: srv,
cfg: cfg,
}, nil
}
func (t *Transport) Run() {
t.lg.Info("started")
if err := http.ListenAndServe(fmt.Sprintf(":%d", t.cfg.Port), t.srv); err != nil {
log.Panic(err)
panic(err)
}
}