コード例 #1
0
ファイル: main.go プロジェクト: tracer/tracer
func loadQueryers(srv *server.Server, conf config.Config) ([]server.QueryTransport, error) {
	var out []server.QueryTransport

	transports, err := conf.QueryTransports()
	if err != nil {
		return nil, err
	}
	for _, name := range transports {
		fn, ok := server.GetQueryTransport(name)
		if !ok {
			return nil, fmt.Errorf("unsupported query transport: %s", name)
		}
		transportConf, err := conf.QueryTransportConfig(name)
		if err != nil {
			return nil, err
		}
		transport, err := fn(srv, transportConf)
		if err != nil {
			return nil, err
		}

		out = append(out, transport)
	}
	return out, nil
}