MCPcopy Create free account
hub / github.com/algolia/cli / createContext

Function createContext

pkg/cmd/root/root.go:343–367  ·  view source on GitHub ↗

createContext creates a context with telemetry.

(
	cmd *cobra.Command,
	stderr io.Writer,
	hasDebug bool,
	hasTelemetry bool,
)

Source from the content-addressed store, hash-verified

341
342// createContext creates a context with telemetry.
343func createContext(
344 cmd *cobra.Command,
345 stderr io.Writer,
346 hasDebug bool,
347 hasTelemetry bool,
348) context.Context {
349 ctx := context.Background()
350 telemetryMetadata := telemetry.NewEventMetadata()
351 updatedCtx := telemetry.WithEventMetadata(ctx, telemetryMetadata)
352
353 var telemetryClient telemetry.TelemetryClient = &telemetry.NoOpTelemetryClient{}
354 if hasTelemetry {
355 client, err := telemetry.NewAnalyticsTelemetryClient(hasDebug)
356 if err != nil {
357 // Fail silently (fall back to no-op telemetry) unless in debug mode.
358 if hasDebug {
359 fmt.Fprintf(stderr, "Error creating telemetry client: %s\n", err)
360 }
361 } else {
362 telemetryClient = client
363 }
364 }
365 contextWithTelemetry := telemetry.WithTelemetryClient(updatedCtx, telemetryClient)
366 return contextWithTelemetry
367}
368
369// printError prints an error to the stderr, with additional information if applicable.
370func printError(out io.Writer, err error, cmd *cobra.Command, debug bool) {

Callers 1

ExecuteFunction · 0.85

Calls 4

NewEventMetadataFunction · 0.92
WithEventMetadataFunction · 0.92
WithTelemetryClientFunction · 0.92

Tested by

no test coverage detected