rpcerr

package
v0.0.26 Latest Latest
Warning

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

Go to latest
Published: Dec 13, 2024 License: MIT Imports: 18 Imported by: 0

Documentation

Overview

Package rpcerr provides a way to return detailed information for an RPC request error. The error is normally JSON encoded.

Index

Constants

View Source
const (
	UnknownID               = "http.response.status.unknown"                  // ID for Unknown status
	BadRequestID            = "http.response.status.bad_request"              // ID for Bad Request status
	UnauthorizedID          = "http.response.status.unauthorized"             // ID for Unauthorized status
	ForbiddenID             = "http.response.status.forbidden"                // ID for Forbidden status
	NotFoundID              = "http.response.status.not_found"                // ID for Not Found status
	MethodNotAllowedID      = "http.response.status.method_not_allowed"       // ID for Method Not Allowed status
	TooManyRequestsID       = "http.response.status.too_many_requests"        // ID for Too Many Requests status
	RequestEntityTooLargeID = "http.response.status.request_entity_too_large" // ID for Request Entity Too Large status
	InternalServerErrorID   = "http.response.status.internal_server_error"    // ID for Internal Server Error status
	ConflictID              = "http.response.status.conflict"                 // ID for Conflict status
	RequestTimeoutID        = "http.response.status.request_timeout"          // ID for Request Timeout status
)

Define constant IDs for various Error status codes

Variables

View Source
var File_rpcerr_rpcerr_proto protoreflect.FileDescriptor

Functions

func BadRequest

func BadRequest(format string, obj ...any) error

BadRequest generates a 400 error.

func Code

func Code(err error) int

Code returns the code of an error

func Conflict

func Conflict(format string, obj ...any) error

Conflict generates a 409 error.

func Equal

func Equal(err1 error, err2 error) bool

Equal tries to compare errors, which are equal if they have the same NewCode

func Forbidden

func Forbidden(format string, obj ...any) error

Forbidden generates a 403 error.

func InternalServerError

func InternalServerError(format string, obj ...any) error

InternalServerError generates a 500 error.

func LookupID

func LookupID(code int32) (string, bool)

LookupID looks up the identifier corresponding to the given code. This function uses a read lock to ensure safe concurrent access to shared resources. Parameters: code - The integer value of the code to look up.

Returns: The string identifier corresponding to the code.

func MethodNotAllowed

func MethodNotAllowed(format string, obj ...any) error

MethodNotAllowed generates a 405 error.

func New

func New(id string, code int32, detail string) error

New generates a custom error.

func NewCode

func NewCode(code int32, detail string) error

NewCode generates an error for a given code

func NewCodeFormat

func NewCodeFormat(code int32, format string, args ...any) error

NewCodeFormat generates an error for a given code

func NewFormat

func NewFormat(id string, code int32, format string, args ...any) error

NewFormat generates an Error error

func NotFound

func NotFound(format string, obj ...any) error

NotFound generates a 404 error.

func RegisterCode

func RegisterCode(code int32, id string)

RegisterCode register a new error code with the given ID,or overwriting any existing one

func RequestEntityTooLarge

func RequestEntityTooLarge(format string, obj ...any) error

RequestEntityTooLarge generates a 413 error.

func Timeout

func Timeout(format string, obj ...any) error

Timeout generates a 408 error.

func TooManyRequests

func TooManyRequests(format string, obj ...any) error

TooManyRequests generates a 429 error.

func Unauthorized

func Unauthorized(format string, obj ...any) error

Unauthorized generates a 401 error.

Types

type Error

type Error struct {
	Id      string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Code    int32  `protobuf:"varint,2,opt,name=code,proto3" json:"code,omitempty"`
	Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"`
	Detail  string `protobuf:"bytes,4,opt,name=detail,proto3" json:"detail,omitempty"`
	// contains filtered or unexported fields
}

func FromError

func FromError(err error) *Error

FromError tries to convert a Go error to *Error

func Parse

func Parse(err string) *Error

Parse tries to parse a JSON string into an error. If that fails, it will set the given string as the error detail.

func (*Error) Descriptor deprecated

func (*Error) Descriptor() ([]byte, []int)

Deprecated: Use Error.ProtoReflect.Descriptor instead.

func (*Error) Error

func (obj *Error) Error() string

Error returns the JSON representation of the error

func (*Error) GetCode

func (x *Error) GetCode() int32

func (*Error) GetDetail

func (x *Error) GetDetail() string

func (*Error) GetId

func (x *Error) GetId() string

func (*Error) GetMessage added in v0.0.7

func (x *Error) GetMessage() string

func (*Error) Is

func (obj *Error) Is(err error) bool

func (*Error) ProtoMessage

func (*Error) ProtoMessage()

func (*Error) ProtoReflect

func (x *Error) ProtoReflect() protoreflect.Message

func (*Error) Reset

func (x *Error) Reset()

func (*Error) Status

func (obj *Error) Status() string

func (*Error) String

func (x *Error) String() string

func (*Error) Validate

func (m *Error) Validate() error

Validate checks the field values on Error with the rules defined in the proto definition for this message. If any rules are violated, the first error encountered is returned, or nil if there are no violations.

func (*Error) ValidateAll

func (m *Error) ValidateAll() error

ValidateAll checks the field values on Error with the rules defined in the proto definition for this message. If any rules are violated, the result is a list of violation errors wrapped in ErrorMultiError, or nil if none found.

type ErrorMultiError

type ErrorMultiError []error

ErrorMultiError is an error wrapping multiple validation errors returned by Error.ValidateAll() if the designated constraints aren't met.

func (ErrorMultiError) AllErrors

func (m ErrorMultiError) AllErrors() []error

AllErrors returns a list of validation violation errors.

func (ErrorMultiError) Error

func (m ErrorMultiError) Error() string

Error returns a concatenation of all the error messages it wraps.

type ErrorValidationError

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

ErrorValidationError is the validation error returned by Error.Validate if the designated constraints aren't met.

func (ErrorValidationError) Cause

func (e ErrorValidationError) Cause() error

Cause function returns cause value.

func (ErrorValidationError) Error

func (e ErrorValidationError) Error() string

Error satisfies the builtin error interface

func (ErrorValidationError) ErrorName

func (e ErrorValidationError) ErrorName() string

ErrorName returns error name.

func (ErrorValidationError) Field

func (e ErrorValidationError) Field() string

Field function returns field value.

func (ErrorValidationError) Key

func (e ErrorValidationError) Key() bool

Key function returns key value.

func (ErrorValidationError) Reason

func (e ErrorValidationError) Reason() string

Reason function returns reason value.

type MultiError

type MultiError struct {
	Errors []*Error `protobuf:"bytes,1,rep,name=errors,proto3" json:"errors,omitempty"`
	// contains filtered or unexported fields
}

func NewMultiError

func NewMultiError() *MultiError

func (*MultiError) Append

func (e *MultiError) Append(err *Error)

func (*MultiError) Descriptor deprecated

func (*MultiError) Descriptor() ([]byte, []int)

Deprecated: Use MultiError.ProtoReflect.Descriptor instead.

func (*MultiError) Error

func (e *MultiError) Error() string

func (*MultiError) GetErrors

func (x *MultiError) GetErrors() []*Error

func (*MultiError) HasErrors

func (e *MultiError) HasErrors() bool

func (*MultiError) ProtoMessage

func (*MultiError) ProtoMessage()

func (*MultiError) ProtoReflect

func (x *MultiError) ProtoReflect() protoreflect.Message

func (*MultiError) Reset

func (x *MultiError) Reset()

func (*MultiError) String

func (x *MultiError) String() string

func (*MultiError) Validate

func (m *MultiError) Validate() error

Validate checks the field values on MultiError with the rules defined in the proto definition for this message. If any rules are violated, the first error encountered is returned, or nil if there are no violations.

func (*MultiError) ValidateAll

func (m *MultiError) ValidateAll() error

ValidateAll checks the field values on MultiError with the rules defined in the proto definition for this message. If any rules are violated, the result is a list of violation errors wrapped in MultiErrorMultiError, or nil if none found.

type MultiErrorMultiError

type MultiErrorMultiError []error

MultiErrorMultiError is an error wrapping multiple validation errors returned by MultiError.ValidateAll() if the designated constraints aren't met.

func (MultiErrorMultiError) AllErrors

func (m MultiErrorMultiError) AllErrors() []error

AllErrors returns a list of validation violation errors.

func (MultiErrorMultiError) Error

func (m MultiErrorMultiError) Error() string

Error returns a concatenation of all the error messages it wraps.

type MultiErrorValidationError

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

MultiErrorValidationError is the validation error returned by MultiError.Validate if the designated constraints aren't met.

func (MultiErrorValidationError) Cause

func (e MultiErrorValidationError) Cause() error

Cause function returns cause value.

func (MultiErrorValidationError) Error

Error satisfies the builtin error interface

func (MultiErrorValidationError) ErrorName

func (e MultiErrorValidationError) ErrorName() string

ErrorName returns error name.

func (MultiErrorValidationError) Field

Field function returns field value.

func (MultiErrorValidationError) Key

Key function returns key value.

func (MultiErrorValidationError) Reason

func (e MultiErrorValidationError) Reason() string

Reason function returns reason value.

Jump to

Keyboard shortcuts

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