feat: initial commit - kratos admin service
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
package server
|
||||
|
||||
import (
|
||||
v1 "kra/api/kratos/admin/v1"
|
||||
"kra/internal/conf"
|
||||
"kra/internal/service"
|
||||
"kra/pkg/validate"
|
||||
|
||||
"github.com/go-kratos/kratos/v3/middleware/recovery"
|
||||
"github.com/go-kratos/kratos/v3/transport/grpc"
|
||||
)
|
||||
|
||||
// NewGRPCServer new a gRPC server.
|
||||
func NewGRPCServer(c *conf.Server, admin *service.AdminService) *grpc.Server {
|
||||
var opts = []grpc.ServerOption{
|
||||
grpc.Middleware(
|
||||
recovery.Recovery(),
|
||||
validate.Middleware(),
|
||||
),
|
||||
}
|
||||
if c.Grpc.Network != "" {
|
||||
opts = append(opts, grpc.Network(c.Grpc.Network))
|
||||
}
|
||||
if c.Grpc.Addr != "" {
|
||||
opts = append(opts, grpc.Address(c.Grpc.Addr))
|
||||
}
|
||||
if c.Grpc.Timeout != nil {
|
||||
opts = append(opts, grpc.Timeout(c.Grpc.Timeout.AsDuration()))
|
||||
}
|
||||
srv := grpc.NewServer(opts...)
|
||||
v1.RegisterAdminServiceServer(srv, admin)
|
||||
return srv
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
package server
|
||||
|
||||
import (
|
||||
v1 "kra/api/kratos/admin/v1"
|
||||
"kra/internal/conf"
|
||||
"kra/internal/service"
|
||||
"kra/pkg/auth"
|
||||
"kra/pkg/validate"
|
||||
|
||||
"github.com/go-kratos/kratos/v3/middleware/recovery"
|
||||
"github.com/go-kratos/kratos/v3/transport/http"
|
||||
)
|
||||
|
||||
// NewHTTPServer new an HTTP server.
|
||||
func NewHTTPServer(c *conf.Server, admin *service.AdminService) *http.Server {
|
||||
var opts = []http.ServerOption{
|
||||
http.Filter(
|
||||
auth.Middleware(),
|
||||
),
|
||||
http.Middleware(
|
||||
recovery.Recovery(),
|
||||
validate.Middleware(),
|
||||
),
|
||||
}
|
||||
if c.Http.Network != "" {
|
||||
opts = append(opts, http.Network(c.Http.Network))
|
||||
}
|
||||
if c.Http.Addr != "" {
|
||||
opts = append(opts, http.Address(c.Http.Addr))
|
||||
}
|
||||
if c.Http.Timeout != nil {
|
||||
opts = append(opts, http.Timeout(c.Http.Timeout.AsDuration()))
|
||||
}
|
||||
srv := http.NewServer(opts...)
|
||||
v1.RegisterAdminServiceHTTPServer(srv, admin)
|
||||
return srv
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
package server
|
||||
|
||||
import (
|
||||
"github.com/google/wire"
|
||||
)
|
||||
|
||||
// ProviderSet is server providers.
|
||||
var ProviderSet = wire.NewSet(NewGRPCServer, NewHTTPServer)
|
||||
Reference in New Issue
Block a user