util

package
v0.27.0 Latest Latest
Warning

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

Go to latest
Published: Feb 13, 2026 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Overview

Copyright 2026 Google LLC Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Index

Constants

View Source
const GDAClientID = "GENAI_TOOLBOX"

GDAClientID is the client ID for Gemini Data Analytics

Variables

This section is empty.

Functions

func ConvertNumbers added in v0.10.0

func ConvertNumbers(data any) (any, error)

ConvertNumbers traverses an interface and converts all json.Number instances to int64 or float64.

func DecodeJSON added in v0.8.0

func DecodeJSON(r io.Reader, v interface{}) error

DecodeJSON decodes a given reader into an interface using the json decoder.

func InstrumentationFromContext added in v0.9.0

func InstrumentationFromContext(ctx context.Context) (*telemetry.Instrumentation, error)

InstrumentationFromContext retrieves the instrumentation or return an error

func LoggerFromContext added in v0.2.0

func LoggerFromContext(ctx context.Context) (log.Logger, error)

LoggerFromContext retrieves the logger or return an error

func NewStrictDecoder

func NewStrictDecoder(v interface{}) (*yaml.Decoder, error)

func UserAgentFromContext added in v0.2.1

func UserAgentFromContext(ctx context.Context) (string, error)

UserAgentFromContext retrieves the user agent or return an error

func WithInstrumentation added in v0.9.0

func WithInstrumentation(ctx context.Context, instrumentation *telemetry.Instrumentation) context.Context

WithInstrumentation adds an instrumentation into the context as a value

func WithLogger added in v0.2.0

func WithLogger(ctx context.Context, logger log.Logger) context.Context

WithLogger adds a logger into the context as a value

func WithUserAgent added in v0.2.1

func WithUserAgent(ctx context.Context, versionString string) context.Context

WithUserAgent adds a user agent into the context as a value

Types

type AgentError added in v0.27.0

type AgentError struct {
	Msg   string
	Cause error
}

Agent Errors return 200 to the sender

func NewAgentError added in v0.27.0

func NewAgentError(msg string, cause error) *AgentError

func (*AgentError) Category added in v0.27.0

func (e *AgentError) Category() ErrorCategory

func (*AgentError) Error added in v0.27.0

func (e *AgentError) Error() string

func (*AgentError) Unwrap added in v0.27.0

func (e *AgentError) Unwrap() error

type ClientServerError added in v0.27.0

type ClientServerError struct {
	Msg   string
	Code  int
	Cause error
}

ClientServerError returns 4XX/5XX error code

func NewClientServerError added in v0.27.0

func NewClientServerError(msg string, code int, cause error) *ClientServerError

func (*ClientServerError) Category added in v0.27.0

func (e *ClientServerError) Category() ErrorCategory

func (*ClientServerError) Error added in v0.27.0

func (e *ClientServerError) Error() string

func (*ClientServerError) Unwrap added in v0.27.0

func (e *ClientServerError) Unwrap() error

type DelayedUnmarshaler

type DelayedUnmarshaler struct {
	// contains filtered or unexported fields
}

DelayedUnmarshaler is struct that saves the provided unmarshal function passed to UnmarshalYAML so it can be re-used later once the target interface is known.

func (*DelayedUnmarshaler) Unmarshal

func (d *DelayedUnmarshaler) Unmarshal(v interface{}) error

func (*DelayedUnmarshaler) UnmarshalYAML

func (d *DelayedUnmarshaler) UnmarshalYAML(ctx context.Context, unmarshal func(interface{}) error) error

type ErrorCategory added in v0.27.0

type ErrorCategory string
const (
	CategoryAgent  ErrorCategory = "AGENT_ERROR"
	CategoryServer ErrorCategory = "SERVER_ERROR"
)

type ToolboxError added in v0.27.0

type ToolboxError interface {
	error
	Category() ErrorCategory
	Error() string
	Unwrap() error
}

ToolboxError is the interface all custom errors must satisfy

func ProcessGcpError added in v0.27.0

func ProcessGcpError(err error) ToolboxError

ProcessGcpError catches auth related errors in GCP requests results and return 401/403 error codes Returns AgentError for all other errors

func ProcessGeneralError added in v0.27.0

func ProcessGeneralError(err error) ToolboxError

ProcessGeneralError handles generic errors by inspecting the error string for common status code patterns.

type UserAgentRoundTripper added in v0.25.0

type UserAgentRoundTripper struct {
	// contains filtered or unexported fields
}

func NewUserAgentRoundTripper added in v0.25.0

func NewUserAgentRoundTripper(ua string, next http.RoundTripper) *UserAgentRoundTripper

func (*UserAgentRoundTripper) RoundTrip added in v0.25.0

func (rt *UserAgentRoundTripper) RoundTrip(req *http.Request) (*http.Response, error)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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