Files
upstream-centrifugo/internal/gen/api/gen_handlers_consumer.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

46 lines
1.2 KiB
Go

package main
func generateHandlersConsumer() {
generateToFile(
headerHandlersConsuming, templateFuncHandlersConsuming, "internal/api/consuming_gen.go",
nil,
[]string{
"Publish", "Broadcast", "Subscribe", "Unsubscribe", "Disconnect", "HistoryRemove", "Refresh",
},
)
}
var headerHandlersConsuming = `// 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"
)
`
var templateFuncHandlersConsuming = `
func (h *ConsumingHandler) handle{{ .RequestCapitalized }}(ctx context.Context, data []byte) (*{{ .RequestCapitalized }}Result, error) {
req, err := requestDecoder.Decode{{ .RequestCapitalized }}(data)
if err != nil {
return nil, ErrInvalidData
}
resp := h.api.{{ .RequestCapitalized }}(ctx, req)
if h.config.UseOpenTelemetry && resp.Error != nil {
span := trace.SpanFromContext(ctx)
span.SetStatus(codes.Error, resp.Error.Error())
}
if resp.Error != nil {
metrics.IncAPIError(h.api.config.Protocol, "{{ .RequestSnake }}", resp.Error.Code)
return nil, resp.Error
}
return resp.Result, nil
}
`