Documentation ¶
Index ¶
- Constants
- func CombineMetadata(withMetadata WithMetadata, metadata map[string]string) map[string]string
- func ForReason(reason v1.ErrorReason, metadata map[string]string) *errdetails.ErrorInfo
- func IsInTests() bool
- func MustBugf(format string, args ...any) error
- func MustPanic(format string, args ...any)
- func RequireReason(t testing.TB, reason v1.ErrorReason, err error, expectedMetadataKeys ...string)
- func WithCodeAndDetails(err error, code codes.Code, details ...protoiface.MessageV1) *status.Status
- func WithCodeAndDetailsAsError(err error, code codes.Code, details ...protoiface.MessageV1) error
- func WithCodeAndReason(err error, code codes.Code, reason v1.ErrorReason) error
- type ErrorBuilder
- func (eb *ErrorBuilder) Component(component string) *ErrorBuilder
- func (eb *ErrorBuilder) Error() TerminationError
- func (eb *ErrorBuilder) ExitCode(exitCode int) *ErrorBuilder
- func (eb *ErrorBuilder) Metadata(key, value string) *ErrorBuilder
- func (eb *ErrorBuilder) Timestamp(timestamp time.Time) *ErrorBuilder
- type ErrorWithSource
- type HasMetadata
- type SourcePosition
- type TerminationError
- type WithMetadata
Constants ¶
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
MustBugf returns an error representing a bug in the system. Will panic if run under testing.
func MustPanic ¶ added in v1.16.0
MustPanic is a special function for panicing when necessary to violate the linter.
func RequireReason ¶
RequireReason asserts that an error is a gRPC error and returns the expected reason in the ErrorInfo. TODO(jschorr): Move into grpcutil.
func WithCodeAndDetails ¶
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
WithCodeAndDetailsAsError returns an error containing the error's message, the given status code and any supplied details.
func WithCodeAndReason ¶
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