mirror of
https://github.com/hanzo-fi/stack.git
synced 2026-10-30 20:34:43 +00:00
48 lines
1.0 KiB
Go
48 lines
1.0 KiB
Go
package controllers
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/formancehq/stack/components/stargate/internal/server/http/opentelemetry"
|
|
"github.com/formancehq/stack/libs/go-libs/logging"
|
|
"github.com/nats-io/nats.go"
|
|
)
|
|
|
|
type StargateControllerConfig struct {
|
|
version string
|
|
|
|
natsRequestTimeout time.Duration
|
|
}
|
|
|
|
func NewStargateControllerConfig(
|
|
version string,
|
|
natsRequestTimeout time.Duration,
|
|
) StargateControllerConfig {
|
|
return StargateControllerConfig{
|
|
version: version,
|
|
natsRequestTimeout: natsRequestTimeout,
|
|
}
|
|
}
|
|
|
|
type StargateController struct {
|
|
config StargateControllerConfig
|
|
|
|
logger logging.Logger
|
|
natsConn *nats.Conn
|
|
metricsRegistry opentelemetry.MetricsRegistry
|
|
}
|
|
|
|
func NewStargateController(
|
|
natsConn *nats.Conn,
|
|
logger logging.Logger,
|
|
metricsRegistry opentelemetry.MetricsRegistry,
|
|
config StargateControllerConfig,
|
|
) *StargateController {
|
|
return &StargateController{
|
|
natsConn: natsConn,
|
|
logger: logger,
|
|
metricsRegistry: metricsRegistry,
|
|
config: config,
|
|
}
|
|
}
|