grpc server added

This commit is contained in:
nquidox 2025-10-01 19:32:56 +03:00
parent 5e1017df69
commit 6867d2d74e
9 changed files with 294 additions and 28 deletions

View file

@ -4,33 +4,46 @@ import (
"context"
"github.com/gin-gonic/gin"
log "github.com/sirupsen/logrus"
"google.golang.org/grpc"
"merch-parser-api/internal/interfaces"
"net"
"net/http"
"time"
)
type App struct {
address string
apiPrefix string
modules []interfaces.Module
routerHandler interfaces.Router
router *gin.Engine
host string
address string
apiPrefix string
modules []interfaces.Module
routerHandler interfaces.Router
router *gin.Engine
grpcServer *grpc.Server
grpcServerPort string
grpcClientPort string
}
type Deps struct {
Host string
Port string
ApiPrefix string
Modules []interfaces.Module
RouterHandler interfaces.Router
Host string
Port string
ApiPrefix string
Modules []interfaces.Module
RouterHandler interfaces.Router
GrpcServer *grpc.Server
GrpcServerPort string
GrpcClientPort string
}
func NewApp(deps Deps) *App {
app := &App{
address: deps.Host + ":" + deps.Port,
apiPrefix: deps.ApiPrefix,
routerHandler: deps.RouterHandler,
modules: deps.Modules,
host: deps.Host,
address: deps.Host + ":" + deps.Port,
apiPrefix: deps.ApiPrefix,
routerHandler: deps.RouterHandler,
modules: deps.Modules,
grpcServer: deps.GrpcServer,
grpcServerPort: deps.GrpcServerPort,
grpcClientPort: deps.GrpcClientPort,
}
app.router = app.routerHandler.Set()
@ -62,6 +75,19 @@ func (a *App) Run(ctx context.Context) error {
serverErr <- server.ListenAndServe()
}()
go func() {
listener, err := net.Listen("tcp", net.JoinHostPort(a.host, a.grpcServerPort))
if err != nil {
log.WithField("err", err).Fatal("gRPC Server | Listener")
}
err = a.grpcServer.Serve(listener)
if err != nil {
log.WithField("err", err).Fatal("gRPC Server | Serve")
}
}()
log.Info("Starting gRPC server on port: ", a.grpcServerPort)
select {
case <-ctx.Done():
log.Info("Shutting down server")