* Add feature flag managment system using split.io and remove viper. * Fixing tests. * Attempt to fix postgres tests. * Fix watch filepath for advanced logging. * Review fixes. * Some error wrapping. * Remove unessisary store interface. * Desanitize SplitKey * Simplify. * Review feedback. * Rename split mlog adatper to split logger. * fsInner * Style. * Restore oldcfg test. * Downgrading non-actionable feature flag errors to warnings. Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
36 строки
1.1 KiB
Go
36 строки
1.1 KiB
Go
package service
|
|
|
|
import (
|
|
"github.com/splitio/go-split-commons/v2/conf"
|
|
"github.com/splitio/go-split-commons/v2/dtos"
|
|
"github.com/splitio/go-split-commons/v2/service/api"
|
|
"github.com/splitio/go-toolkit/v3/logging"
|
|
)
|
|
|
|
// SplitAPI struct for fetchers and recorders
|
|
type SplitAPI struct {
|
|
AuthClient AuthClient
|
|
SplitFetcher SplitFetcher
|
|
SegmentFetcher SegmentFetcher
|
|
ImpressionRecorder ImpressionsRecorder
|
|
EventRecorder EventsRecorder
|
|
MetricRecorder MetricsRecorder
|
|
}
|
|
|
|
// NewSplitAPI creates new splitAPI
|
|
func NewSplitAPI(
|
|
apikey string,
|
|
conf conf.AdvancedConfig,
|
|
logger logging.LoggerInterface,
|
|
metadata dtos.Metadata,
|
|
) *SplitAPI {
|
|
return &SplitAPI{
|
|
AuthClient: api.NewAuthAPIClient(apikey, conf, logger, metadata),
|
|
SplitFetcher: api.NewHTTPSplitFetcher(apikey, conf, logger, metadata),
|
|
SegmentFetcher: api.NewHTTPSegmentFetcher(apikey, conf, logger, metadata),
|
|
ImpressionRecorder: api.NewHTTPImpressionRecorder(apikey, conf, logger),
|
|
EventRecorder: api.NewHTTPEventsRecorder(apikey, conf, logger),
|
|
MetricRecorder: api.NewHTTPMetricsRecorder(apikey, conf, logger),
|
|
}
|
|
}
|