client

package
v1.10.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 20, 2026 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func HandleAPIError

func HandleAPIError(err error, ctx ...ErrorContext) error

HandleAPIError provides user-friendly error messages for API errors. It checks for common error types and returns descriptive messages. Optional context can be provided to include asset details in error messages.

func NewClientFromContext

func NewClientFromContext(ctx context.Context, apiUrl, authToken string) (dash0api.Client, error)

NewClientFromContext creates a new Dash0 API client using configuration from context. Flag overrides (apiUrl, authToken) are applied on top of the context configuration.

func NewOtlpClientFromContext added in v1.1.0

func NewOtlpClientFromContext(ctx context.Context, otlpUrl, authToken string) (dash0api.Client, error)

NewOtlpClientFromContext creates a new Dash0 API client configured for OTLP using configuration from context. Flag overrides (otlpUrl, authToken) are applied on top of the context configuration.

func ResolveApiUrl added in v1.2.0

func ResolveApiUrl(ctx context.Context, flagApiUrl string) string

ResolveApiUrl returns the effective API URL from context and flag overrides. This is useful when the resolved URL is needed outside of client creation (e.g. for constructing deeplink URLs).

func ResolveDataset added in v1.1.0

func ResolveDataset(ctx context.Context, flagDataset string) *string

ResolveDataset returns the dataset to use for API calls, checking (in order): 1. The CLI flag value (flagDataset) 2. The configuration from context (profile + DASH0_DATASET env var) Returns nil when no dataset is configured or when the dataset is "default", since the API uses "default" implicitly when no dataset parameter is sent.

Types

type ErrorContext

type ErrorContext struct {
	AssetType string // e.g., "dashboard", "check rule"
	AssetID   string // e.g., "a1b2c3d4-..." (optional, empty for create/list)
	AssetName string // e.g., "Production Overview" (optional, for user-friendly messages)
}

ErrorContext provides context about the asset involved in an error. This context is used to generate more specific and actionable error messages.

type RawHTTPConfig added in v1.10.0

type RawHTTPConfig struct {
	// HTTPClient is a plain net/http client ready to perform requests.
	HTTPClient *http.Client
	// ApiUrl is the resolved API base URL.
	ApiUrl string
	// AuthToken is the resolved bearer token.
	AuthToken string
	// Dataset is the dataset resolved from environment or active profile.
	// Flag overrides are the caller's responsibility so that "explicitly
	// unset" can be distinguished from "not provided".
	Dataset string
	// UserAgent is the User-Agent string to send with requests.
	UserAgent string
}

RawHTTPConfig holds the resolved configuration for raw HTTP calls against the Dash0 API.

func NewRawHTTPConfig added in v1.10.0

func NewRawHTTPConfig(ctx context.Context, apiUrl, authToken string) (*RawHTTPConfig, error)

NewRawHTTPConfig resolves the API URL, auth token and profile dataset from context, environment and flag overrides, returning a ready-to-use configuration for raw HTTP requests against the Dash0 API.

This sits beside NewClientFromContext rather than wrapping the generated typed client: the typed client does not expose its underlying transport, and raw mode needs to emit arbitrary requests without the constraints of the generated surface.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL