spiceerrors

package
v1.31.0 Latest Latest
Warning

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

Go to latest
Published: Apr 11, 2024 License: Apache-2.0 Imports: 15 Imported by: 1

Documentation

Index

Constants

View Source
const Domain = "authzed.com"

Domain is the domain used for all errors.

Variables

This section is empty.

Functions

func CombineMetadata added in v1.16.2

func CombineMetadata(withMetadata WithMetadata, metadata map[string]string) map[string]string

CombineMetadata combines the metadata found on an existing error with that given.

func ForReason

func ForReason(reason v1.ErrorReason, metadata map[string]string) *errdetails.ErrorInfo

ForReason returns an ErrorInfo block for a specific error reason as defined in the V1 API.

func IsInTests added in v1.22.2

func IsInTests() bool

IsInTests returns true if go test is running Based on: https://stackoverflow.com/a/58945030

func MustBugf added in v1.16.0

func MustBugf(format string, args ...any) error

MustBugf returns an error representing a bug in the system. Will panic if run under testing.

func MustPanic added in v1.16.0

func MustPanic(format string, args ...any)

MustPanic is a special function for panicing when necessary to violate the linter.

func RequireReason

func RequireReason(t testing.TB, reason v1.ErrorReason, err error, expectedMetadataKeys ...string)

RequireReason asserts that an error is a gRPC error and returns the expected reason in the ErrorInfo. TODO(jschorr): Move into grpcutil.

func WithCodeAndDetails

func WithCodeAndDetails(err error, code codes.Code, details ...protoiface.MessageV1) *status.Status

WithCodeAndDetails returns a gRPC status message containing the error's message, the given status code and any supplied details.

func WithCodeAndDetailsAsError added in v1.22.0

func WithCodeAndDetailsAsError(err error, code codes.Code, details ...protoiface.MessageV1) error

WithCodeAndDetailsAsError returns an error containing the error's message, the given status code and any supplied details.

func WithCodeAndReason

func WithCodeAndReason(err error, code codes.Code, reason v1.ErrorReason) error

WithCodeAndReason returns a new error which wraps the existing error with a gRPC code and a reason block.

Types

type ErrorBuilder added in v1.22.0

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

ErrorBuilder is a fluent-style builder for TerminationError

func NewTerminationErrorBuilder added in v1.22.0

func NewTerminationErrorBuilder(err error) *ErrorBuilder

NewTerminationErrorBuilder returns a new ErrorBuilder for a termination.TerminationError.

func (*ErrorBuilder) Component added in v1.22.0

func (eb *ErrorBuilder) Component(component string) *ErrorBuilder

Component specifies the component in SpiceDB that

func (*ErrorBuilder) Error added in v1.22.0

func (eb *ErrorBuilder) Error() TerminationError

TerminationError returns the built termination TerminationError

func (*ErrorBuilder) ExitCode added in v1.22.0

func (eb *ErrorBuilder) ExitCode(exitCode int) *ErrorBuilder

ExitCode defines the ExitCode to be used upon process termination. Defaults to 1 if not specified.

func (*ErrorBuilder) Metadata added in v1.22.0

func (eb *ErrorBuilder) Metadata(key, value string) *ErrorBuilder

Metadata adds a new key-value pair of metadata to the termination TerminationError being built

func (*ErrorBuilder) Timestamp added in v1.22.0

func (eb *ErrorBuilder) Timestamp(timestamp time.Time) *ErrorBuilder

Timestamp defines the time of the error. Defaults to time.Now().UTC() if not specified.

type ErrorWithSource

type ErrorWithSource struct {

	// SourceCodeString is the input source code string for the error.
	SourceCodeString string

	// LineNumber is the (1-indexed) line number of the error, or 0 if unknown.
	LineNumber uint64

	// ColumnPosition is the (1-indexed) column position of the error, or 0 if
	// unknown.
	ColumnPosition uint64
	// contains filtered or unexported fields
}

ErrorWithSource is an error that includes the source text and position information.

func AsErrorWithSource

func AsErrorWithSource(err error) (*ErrorWithSource, bool)

AsErrorWithSource returns the error as an ErrorWithSource, if applicable.

func NewErrorWithSource

func NewErrorWithSource(err error, sourceCodeString string, oneIndexedLineNumber uint64, oneIndexedColumnPosition uint64) *ErrorWithSource

NewErrorWithSource creates and returns a new ErrorWithSource.

func (*ErrorWithSource) Unwrap

func (err *ErrorWithSource) Unwrap() error

Unwrap returns the inner, wrapped error.

type HasMetadata

type HasMetadata interface {
	// DetailsMetadata returns the metadata for details for this error.
	DetailsMetadata() map[string]string
}

HasMetadata indicates that the error has metadata defined.

type SourcePosition

type SourcePosition struct {
	// LineNumber is the 1-indexed line number in the input source.
	LineNumber int

	// ColumnPosition is the 1-indexed column position in the input source.
	ColumnPosition int
}

SourcePosition is a position in the input source.

type TerminationError added in v1.22.0

type TerminationError struct {
	Component   string            `json:"component"`
	Timestamp   time.Time         `json:"timestamp"`
	ErrorString string            `json:"error"`
	Metadata    map[string]string `json:"metadata"`
	// contains filtered or unexported fields
}

TerminationError represents an error that captures contextual information to make available on process termination. The error will be marshalled as JSON and serialized into a file-path specified via CLI arguments

func (TerminationError) ExitCode added in v1.22.0

func (e TerminationError) ExitCode() int

ExitCode returns the exit code to be returned on process termination

type WithMetadata added in v1.16.2

type WithMetadata interface {
	DetailsMetadata() map[string]string
}

Jump to

Keyboard shortcuts

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