1package run 2 3import ( 4 "context" 5 6 "github.com/ooni/probe-cli/v3/internal/engine/experiment/dnscheck" 7 "github.com/ooni/probe-cli/v3/internal/engine/model" 8) 9 10type experimentMain interface { 11 do(ctx context.Context, input StructuredInput, 12 sess model.ExperimentSession, measurement *model.Measurement, 13 callbacks model.ExperimentCallbacks) error 14} 15 16var table = map[string]experimentMain{ 17 // TODO(bassosimone): before extending run to support more than 18 // single experiment, we need to handle the case in which we are 19 // including different experiments into the same report ID. 20 // Probably, the right way to implement this functionality is to 21 // use proveservices.Submitter to submit reports. 22 "dnscheck": &dnsCheckMain{ 23 Endpoints: &dnscheck.Endpoints{}, 24 }, 25 "urlgetter": &urlGetterMain{}, 26} 27