Files
upstream-centrifugo/internal/gen/api/gen_handlers_grpc.go
upstream-mirror b352a9a30d
Some checks failed
test / Lint (push) Failing after 3s
test / Test with Go 1.26.8 (push) Failing after 2s
snapshot of https://github.com/centrifugal/centrifugo.git (master, 2026-09-16; blobs > 131072B omitted)
2026-09-16 01:17:21 +05:00

47 lines
1.4 KiB
Go

package main
func generateHandlersGRPC() {
generateToFile(headerHandlersGRPC, templateFuncHandlersGRPC, "internal/api/grpc_handler_gen.go", nil, nil)
}
var headerHandlersGRPC = `// Code generated by internal/gen/api/main.go. DO NOT EDIT.
package api
import (
"context"
. "github.com/centrifugal/centrifugo/v6/internal/apiproto"
"github.com/centrifugal/centrifugo/v6/internal/metrics"
"go.opentelemetry.io/otel/codes"
"go.opentelemetry.io/otel/trace"
"google.golang.org/grpc/status"
)
`
var templateFuncHandlersGRPC = `
// {{ .RequestCapitalized }} ...
func (s *grpcAPIService) {{ .RequestCapitalized }}(ctx context.Context, req *{{ .RequestCapitalized }}Request) (*{{ .RequestCapitalized }}Response, error) {
resp := s.api.{{ .RequestCapitalized }}(ctx, req)
{{- if ne .RequestCapitalized "Batch" }}
if s.config.UseOpenTelemetry && resp.Error != nil {
span := trace.SpanFromContext(ctx)
span.SetStatus(codes.Error, resp.Error.Error())
}
if resp.Error != nil && s.useTransportErrorMode(ctx) {
metrics.IncAPIError(s.api.config.Protocol, "{{ .RequestSnake }}", resp.Error.Code)
statusCode := MapErrorToGRPCCode(resp.Error)
transportError, _ := status.New(statusCode, resp.Error.Message).WithDetails(resp.Error)
return nil, transportError.Err()
}
{{- end}}
{{- if ne .RequestCapitalized "Batch" }}
if resp.Error != nil {
metrics.IncAPIError(s.api.config.Protocol, "{{ .RequestSnake }}", resp.Error.Code)
}
{{- end}}
return resp, nil
}
`