Documentation
¶
Overview ¶
Package errcode provides structured error codes with HTTP status mapping.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( ErrAuthFailed = &predefined{code: 4001} // Reserved for developer SDK — Sequify Server does not perform auth ErrCredentialExpired = &predefined{code: 4002} // Reserved for developer SDK — Sequify Server does not perform auth ErrConnLimit = &predefined{code: 4003} ErrBadMessage = &predefined{code: 4004} ErrCapabilityNotRegistered = &predefined{code: 4005} ErrVersionIncompat = &predefined{code: 4006} )
Connection-level errors (4xxx) — WebSocket connection lifecycle
var ( ErrConvNotFound = &predefined{code: 5001} ErrMsgNotFound = &predefined{code: 5002} ErrIntentFailed = &predefined{code: 5003} ErrToolTimeout = &predefined{code: 5004} ErrConvDestroyed = &predefined{code: 5005} ErrConcurrentConflict = &predefined{code: 5006} ErrCapabilityNotFound = &predefined{code: 5007} )
Command-level errors (5xxx) — business logic failures
var ( ErrInternal = &predefined{code: 6001} ErrQueueFull = &predefined{code: 6003} ErrDB = &predefined{code: 6004} ErrRedis = &predefined{code: 6005} )
Service-level errors (6xxx) — infrastructure failures
Functions ¶
func HTTPStatus ¶
HTTPStatus returns the HTTP status code for the given error code. Returns 500 for unknown codes.
This function queries the registry directly instead of maintaining a separate map, ensuring a single source of truth for HTTP status mappings.
func Register ¶
Register adds an error code to the global registry. It panics if the code is out of range [4000, 6999] or already registered.
func RegisterAll ¶
func RegisterAll()
RegisterAll registers all error codes from protocol.md. Must be called once in main.go before using any predefined error variables. Safe to call multiple times (idempotent).
Types ¶
type Error ¶
type Error struct {
Code int
Message string
HTTPStatus int
// contains filtered or unexported fields
}
Error is a structured error type with code, message, and HTTP status.
func New ¶
New creates a new Error with the default message from the registry. It panics if the code is not registered.
func Newf ¶
Newf creates a new Error with a custom formatted message. It supports %w verb for wrapping sentinel errors. It panics if the code is not registered.