signoz/pkg/gateway/config.go
Vibhu Pandey c83eaf3d50
chore: enable forbidigo and noerrors in depguard (#9047)
* chore: enable forbidgo

* chore: enable forbidgo
2025-09-09 15:44:27 +05:30

40 lines
700 B
Go

package gateway
import (
"net/url"
"github.com/SigNoz/signoz/pkg/errors"
"github.com/SigNoz/signoz/pkg/factory"
)
var (
ErrCodeInvalidGatewayConfig = errors.MustNewCode("invalid_gateway_config")
)
type Config struct {
URL *url.URL `mapstructure:"url"`
}
func NewConfigFactory() factory.ConfigFactory {
return factory.NewConfigFactory(factory.MustNewName("gateway"), newConfig)
}
func newConfig() factory.Config {
return &Config{
URL: &url.URL{
Scheme: "http",
Host: "localhost:8080",
Path: "/",
},
}
}
func (c Config) Validate() error {
if c.URL == nil {
return errors.New(errors.TypeInvalidInput, ErrCodeInvalidGatewayConfig, "url is required")
}
return nil
}