diff --git a/pkg/srv/grpc/gateway.go b/pkg/srv/grpc/gateway.go index 97aae1d..6b9e1d2 100644 --- a/pkg/srv/grpc/gateway.go +++ b/pkg/srv/grpc/gateway.go @@ -2,6 +2,7 @@ package grpc import ( "context" + "errors" "fmt" "net" @@ -29,8 +30,15 @@ func (a *appGRPCServer) registerServiceGatewayHandlers(ctx context.Context, serv clientConn := a.GetClientConn(ctx) + var errs error for _, registerGW := range service.GwRegistrationFuncs { - registerGW(ctx, a.gatewayMux, clientConn) + errs = errors.Join(errs, registerGW(ctx, a.gatewayMux, clientConn)) + a.logger.Debug().Any("fwo", a.gatewayMux.GetForwardResponseOptions()). + Msg("calling gateway registration func") + } + + if errs != nil { + panic(errs) } } diff --git a/pkg/srv/grpc/opts/config.go b/pkg/srv/grpc/opts/config.go index 72a8591..e1c315b 100644 --- a/pkg/srv/grpc/opts/config.go +++ b/pkg/srv/grpc/opts/config.go @@ -10,8 +10,8 @@ import ( ) type GRPCOpts struct { - *config.GRPCConfig - *AppGRPC + *config.GRPCConfig // Settings configurable by env or yaml + *AppGRPC // Settings provided in code } type AppGRPC struct { diff --git a/pkg/srv/http/http.go b/pkg/srv/http/http.go index 16a7cae..8f7ec42 100644 --- a/pkg/srv/http/http.go +++ b/pkg/srv/http/http.go @@ -69,7 +69,7 @@ func prepHTTPServer(opts *opts.AppHTTP) *http.Server { // if enabled, the path prefix is stripped before // requests are sent to the handler if h.StripPrefix { - h.Handler = http.StripPrefix(h.Prefix, h.Handler) + h.Handler = http.StripPrefix(h.Prefix[:len(h.Prefix)-1], h.Handler) } mux.Handle(h.Prefix, h.Handler) }