web/api/v1/api.go
func NewAPI(
	qe *promql.Engine,
	q storage.Queryable,
	tr targetRetriever,
	ar alertmanagerRetriever,
	configFunc func() config.Config,
	flagsMap map[string]string,
	readyFunc func(http.HandlerFunc) http.HandlerFunc,
	db func() TSDBAdmin,
	enableAdmin bool,
	logger log.Logger,
	rr rulesRetriever,
	remoteReadSampleLimit int,
	remoteReadConcurrencyLimit int,
	CORSOrigin *regexp.Regexp,
) *API {
	return &API{
		QueryEngine:           qe,
		Queryable:             q,
		targetRetriever:       tr,
		alertmanagerRetriever: ar,

		now:                   time.Now,
		config:                configFunc,
		flagsMap:              flagsMap,
		ready:                 readyFunc,
		db:                    db,
		enableAdmin:           enableAdmin,
		rulesRetriever:        rr,
		remoteReadSampleLimit: remoteReadSampleLimit,
		remoteReadGate:        gate.New(remoteReadConcurrencyLimit),
		logger:                logger,
		CORSOrigin:            CORSOrigin,
	}
}
func NewAPI(
	qe *promql.Engine,
	q storage.Queryable,
	tr targetRetriever,
	ar alertmanagerRetriever,
	configFunc func() config.Config,
	flagsMap map[string]string,
	readyFunc func(http.HandlerFunc) http.HandlerFunc,
	db func() TSDBAdmin,
	enableAdmin bool,
	logger log.Logger,
	rr rulesRetriever,
	remoteReadSampleLimit int,
	remoteReadConcurrencyLimit int,
	CORSOrigin *regexp.Regexp,
) *API {
	return &API{
		QueryEngine:           qe,
		Queryable:             q,
		targetRetriever:       tr,
		alertmanagerRetriever: ar,

		now:                   time.Now,
		config:                configFunc,
		flagsMap:              flagsMap,
		ready:                 readyFunc,
		db:                    db,
		enableAdmin:           enableAdmin,
		rulesRetriever:        rr,
		remoteReadSampleLimit: remoteReadSampleLimit,
		remoteReadGate:        gate.New(remoteReadConcurrencyLimit),
		logger:                logger,
		CORSOrigin:            CORSOrigin,
	}
}
func NewAPI ( qe * promql . Engine , q storage . Queryable , tr targetRetriever , ar alertmanagerRetriever , configFunc func ( ) config . Config , flagsMap map [ string ] string , readyFunc func ( http . HandlerFunc ) http . HandlerFunc , db func ( ) TSDBAdmin , enableAdmin bool , logger log . Logger , rr rulesRetriever , remoteReadSampleLimit int , remoteReadConcurrencyLimit int , CORSOrigin * regexp . Regexp , ) * API { return & API { QueryEngine : qe , Queryable : q , targetRetriever : tr , alertmanagerRetriever : ar , now : time . Now , config : configFunc , flagsMap : flagsMap , ready : readyFunc , db : db , enableAdmin : enableAdmin , rulesRetriever : rr , remoteReadSampleLimit : remoteReadSampleLimit , remoteReadGate : gate . New ( remoteReadConcurrencyLimit ) , logger : logger , CORSOrigin : CORSOrigin , } }
// NewAPI returns an initialized API type.
NewAPI returns an initialized API type .